我在老虎机程序的输出中发现了一些不太正确的信息。这是我得到的输出:

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);


执行字符串连接而不是加法,因此您可以看到插槽的实际值而不是它们的总和。

10-04 17:19