我应该建立一个有3个显示窗口的老虎机,每个窗口有6个可以显示的选项。
我很困惑在术语切换后使用什么“测试表达式”?然后如何让程序比较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();
}
}
}
答案 0 :(得分:1)
将a
放在那里。无论a
是什么,它都会在switch语句中跳转到那种情况。例如:如果a
为2则会跳转到case 2
,因此会打印“Plum”
在这种情况下我还可以推荐使用Enum吗?
enum SlotOptions {
CHERRY,
ORANGE,
PLUM,
BELL,
MELON,
BAR;
}
答案 1 :(得分:0)
看起来swithc表达式是“实际”慢速机器,所以你想在那里放一个随机int
。类似switch(a)
。
为什么呢?想想老虎机的工作原理,然后看看你的代码。老虎机随机为每个点(即1个水果)选择一个符号。在你的代码中,每个水果都有一个案例。发生的事情是你用一个数字代表每个案例。因此,要确定哪种情况,您需要选择一个数字。你选的号码是多少?从它的老虎机你选择一个随机数。这就是为什么你有a=random.nextInt();
。
答案 2 :(得分:-2)
您没有在switch语句中放置测试表达式。你输入一个整数值。在这种情况下,似乎你想要那里。