Here's the code:
public void playMany() {
for (int i = 0; i < lotteryNumbers.length; i++) {
lotteryNumbers[i] = 0 + r.nextInt(9);
}
for (int i = 0; i < playersNumbers.length; i++) {
playersNumbers[i] = 0 + r.nextInt(9);
}
for (int i = 0; i < lotteryNumbers.length; i++) {
if (lotteryNumbers[i] == playersNumbers[i]) {
winNum++;
}
}
if (winNum == 0) {
winningNum[0]++;
}
if (winNum == 1) {
winningNum[1]++;
}
if (winNum == 2) {
winningNum[2]++;
}
if (winNum == 3) {
winningNum[3]++;
}
if (winNum == 4) {
winningNum[4]++;
}
if (winNum == 5) {
winningNum[5]++;
}
System.out.println(Arrays.toString(winningNum));
}
}
With this method I want to play one draw of lottery with so many playerNumbers it takes until every index in playersNumbers and lotteryNumbers is the same. I want to save every result in winningNum so I can see how many times I hit 0, 1, 2, 3 etc. Now it plays only one time and stores it in the array. I tried with loops and boolean to play many times but I cant get it to work
try{
int[] lotteryNumbers = new int[5];
int[] playersNumbers = new int[5];
int[] winningNum = new int[]{0, 0, 0, 0, 0, 0};
int winNum = 0;
Random r = new Random();
for (int i = 0; i < lotteryNumbers.length; i++){
lotteryNumbers[i] = 0 + r.nextInt(9);
}
do{
winNum = 0;
for (int i = 0; i < playersNumbers.length; i++){
playersNumbers[i] = 0 + r.nextInt(9);
}
for (int i = 0; i < lotteryNumbers.length; i++){
if (lotteryNumbers[i] == playersNumbers[i]){
winNum++;
}
}
winningNum[winNum]++;
}while(winNum != 5);
System.out.println(Arrays.toString(winningNum));
}catch(Exception e){
e.printStackTrace();
}
I think this is what you were looking for, if you want some of it explained, please just leave a comment - note that the winningNum array is size 6 - because you can get 0-4 correct for each tieration + the final one where you win leaves 6 options