【发布时间】:2014-10-28 21:51:01
【问题描述】:
我对编程很陌生,因为这是我在大学的第一个学期,没有任何先验知识。在用 Python 工作之后现在用 Java 工作,我们目前正在开发一个算命程序。我遇到的主要问题是试图返回开关询问用户是否想再次玩,或者他们是否输入了 8 个案例之外的无效响应。还必须有一个 while 循环嵌套在另一个 while 循环中。
Scanner user = new Scanner(System.in);
System.out.println("Welcome to the Fortune Telling program.\n"); //Welcome message
System.out.print("Would you like me to tell your fortune? Type 1 for yes and any other number for no: "); //ask for yes or no to run
int Var0 = user.nextInt();
if (Var0 == 1)
{
System.out.print("Enter a number 1-8 and I will tell your fortune: "); //ask for number between 1-8 to find fortune or invalid
int Var1 = user.nextInt();
switch (Var1)
{
case 1: //case 1-8 fortunes
System.out.println("\nYou will become great if you believe in yourself.");
break;
case 2:
System.out.println("\nSerious trouble with bypass you.");
break;
case 3:
System.out.println("\nYou will travel to many exotic places in your lifetime.");
break;
case 4:
System.out.println("\nYour ability for accomplishment will follow with success.");
break;
case 5:
System.out.println("\nWhen fear hurts you, conquer it and defeat it!");
break;
case 6:
System.out.println("\nYou will be called in to fulfill a position of higher honor and responsibility.");
break;
case 7:
System.out.println("\nYour golden opportunity is coming shortly.");
break;
case 8:
System.out.println("\nIntegrity is doing the right thing, even when nobody is watching.");
break;
default:
System.out.print("That's not a valid number. Try again.\n"); //invalid number try to rerun for correct response
}
} //display next print only on case not default
System.out.print("Would you like another fortune? Type 1 for yes and any other number for no: "); //loop this back into 'switch'
int Var2= user.nextInt();
System.out.print("Thank you for trying the fortune telling program."); //Thank you message
user.close();
}
}
【问题讨论】:
-
为什么需要嵌套的while循环?
-
这是作业的一部分。但我不明白把它放在哪里,以便用户可以在需要时再次运行开关。 @Moh123
-
您的作业可能是由不太擅长编程的人设置的。恕我直言,您应该使用
for循环,而不是while循环 - 因为您有一个迭代方面(重新询问用户是否输入无效响应)。此外,作业不应规定实施 - 选择一个是学习的一部分。
标签: java while-loop switch-statement