我在老虎机程序的输出中发现了一些不太正确的信息。这是我得到的输出:
Want to test your luck?
To Spin, type any positive number
To End Game, type -1 and press enter
2
21
0
We have twins... You've matched a pair!
Want to test your luck?
To Spin, type any positive number
To End Game, type -1 and press enter
前三行是您首次运行程序时显示的内容。在这种情况下,我输入数字2开始。
我遇到的一个问题是,开始游戏的输入被计为老虎机数字之一。
我遇到的第二个问题是,每个插槽的3个数字中,我得到的数字大于9,而当我指定为0-9之间时,我看不到该数字。
最后但并非最不重要的一点是,我在代码中遇到的最后一个错误是数字之后的行我设置为“我们有双胞胎……您已经配对了!”,尽管没有配对?除非只是计算两者之间的差额。
这是我完整的程序:
import java.util.Scanner;
import java.util.Random;
public class Java_Lab_3 {
private static int endgame = 0;
public static void main(String[] args) {
int slot1;
int slot2;
int slot3;
int count1 = 0;
Random rand = new Random();
Scanner keyboard = new Scanner(System.in);
while (endgame != -1) {
System.out.println("Want to test your luck?");
System.out.println("To Spin, type any positive number");
System.out.println("To End Game, type -1 and press enter ");
endgame = keyboard.nextInt();
slot1 = rand.nextInt(10);
slot2 = rand.nextInt(10);
slot3 = rand.nextInt(10);
System.out.println(slot1 + slot2 + slot3);
System.out.println(count1);
if (slot1 == slot2 && slot1 == slot3) { // Then they have JACKPOT
System.out.println("You've Won!");
} else if (slot1 == slot2 || slot2 == slot3 || slot1 == slot3) { //
They MATCHED 2
System.out.println("We have twins... You've matched a pair!");
} else {
System.out.println("Sucks to Suck, don't quit your day job!");
}
}
}
}
最佳答案
您的程序运行正常。只是改变
System.out.println(slot1 + slot2 + slot3);
至
System.out.println(slot1 + " " + slot2 + " " + slot3);
执行字符串连接而不是加法,因此您可以看到插槽的实际值而不是它们的总和。