我正在编写一个老虎机类,它生成 3 个由 3 个随机数组成的数组,并检查所有数字是否匹配,如果匹配,则它们被宣布为赢家。我编写了另一个程序来运行 1000 台老虎机并计算获胜者。我面临的问题是它总是给我 0 个赢家。有什么帮助吗?这是每个的代码:
老虎机类
import java.util.*;
public class SlotMachine{
private int[] row1 = new int[3];
private int[] row2 = new int[3];
private int[] row3 = new int[3];
public SlotMachine() {
playMachine();
}
public void playMachine() {
Random rand = new Random();
for (int counter = 0; counter < 3; counter++) {
row1[counter] = rand.nextInt(10);
}
for (int counter = 0; counter < 3; counter++) {
row2[counter] = rand.nextInt(10);
}
for (int counter = 0; counter < 3; counter++) {
row3[counter] = rand.nextInt(10);
}
}
public boolean isWinner() {
if (row1[0] == row1[1]) {
if (row1[0] == row1[2]) {
return true;
}
}
if (row2[0] == row2[1]) {
if (row2[0] == row2[2]) {
return true;
}
}
if (row3[0] == row3[1]) {
if (row3[0] == row3[2]) {
return true;
}
}
return false;
}
}
获胜计数器:
import java.util.*;
public class Play1000SlotMachines {
public static void main(String[] args) {
SlotMachine slotMachine = new SlotMachine();
int count = 0;
for (int i = 0; i < 1000; i++) {
if (slotMachine.isWinner() == true) {
count = count + 1;
}
}
System.out.println("From 1000 slot machines, " + count + " were winners.");
}
}