-1

我应该构建一个有 3 个显示窗口的老虎机,每个窗口有 6 个可以显示的选项。

我很困惑在术语 switch 之后使用什么“测试表达式”?然后如何让程序比较 6 个案例或选项(樱桃、橙子、李子、铃铛、甜瓜、酒吧),看看它们是否匹配并提供他们赢得的回报。

    import java.util.Random;

    import java.util.Scanner;

    public class SlotMachine
    {
       //This is the main method
         public static void main(String[] args)
      {
       Scanner keyboard = new Scanner(System.in);
       Random random = new Random();
       String cont = "y" or "Y";
       char answer;
       int money = 0;
       int totalEntered = 0;
       int a;
       int n;
       int amountWon = 0;
       int dbl = money * 2;
       int trpl = money * 3;

       while (cont.equals("y"))OR (cont.equals("Y"))
       {
           a = random.nextInt(6);
           n = random.nextInt(991) +10;
           totalEntered += money;
           System.out.println("How much money would you like to bet? ");
           money = keyboard.nextInt();

           switch (TestExpression????) 
           {
               case 0:
                   System.out.println("Cherry");
                   break;
               case 1:
                   System.out.println("Orange");
                   break;
               case 2:
                   System.out.println("Plum");
                   break;
               case 3:
                   System.out.println("Bell");
                   break;
               case 4:
                   System.out.println("Melon");
                   break;
               default:
                   System.out.println("Bar");
           }

           if ()
           {
               System.out.println("You have won $0");
           }
           else if ()
           {
               System.out.println("Congratulations, you have won $" + dbl);
                  amountWon += dbl;
           }
           else if ()
           {
               System.out.println("Congratulations, you have won $" + trpl);
                  amountWon += trpl;
           }


           System.out.println("Continue? Enter y = yes");
           cont = keyboard.nextLine();
       }
   }
}
4

3 回答 3

1

放在a那里。无论a是什么,它都会在 switch 语句中跳转到那种情况。例如:如果a是 2 它会跳转到case 2所以会打印“Plum”

在这种情况下,我还可以推荐使用 Enum 吗?

enum SlotOptions {
   CHERRY,
   ORANGE,
   PLUM,
   BELL,
   MELON,
   BAR;
}
于 2013-10-05T01:06:11.523 回答
0

看起来 swithc 表达式是“实际的”慢机器,所以你想在那里放一个随机数int。类似的东西switch(a)

为什么?想想老虎机是如何工作的,然后看看你的代码。老虎机为每个点随机选择一个符号(即 1 个水果)。在您的代码中,每个水果都有一个案例。正在发生的事情是你用一个数字代表每个案例。因此,要确定哪种情况,您需要选择一个数字。你选什么号码?由于它是老虎机,因此您选择一个随机数。这就是为什么你有a=random.nextInt();.

于 2013-10-05T01:05:37.687 回答
-2

您不会将测试表达式放在 switch 语句中。你输入一个整数值。在这种情况下,您似乎想要一个。

于 2013-10-05T01:03:51.553 回答