我有一个班级,有一堆println,然后我有一个开关。关键是用户有3个选项,其中1个是错误的,并将他带回到开始。我尝试从类中重新创建类,但它没有用,因为当它完成最近的类时,它将返回到上一个类并完成它。也许解决方案很简单,我只是不知道怎么做,我在学校已经编程了2周...如果你需要一个例子,我可以输入一个,但它只是一个开关,里面有3个案例它,其中两个说不同的东西,但无论如何打破了开关,第三个说了别的,但重新启动。 任何sugestions?
Switch (choice1){
case 1: System.out.println("Blabla"); break;
case 2: System.out.println("Blabla"); break;
case 3: System.out.println("Blabla"); break;
default: System.out.println("That is not a valid number."); break;}
那......它只是一个开关...... 编辑:就像我说的那样,你知道我对用Java编程并不是很了解,所以如果没有一些代码帮助,我认为我不能解决这个问题。
解决了!我自己。向下看
Switch (choice1){
case 1: System.out.println("Blabla"); break;
case 2: System.out.println("Blabla"); break;
case 3: System.out.println("Blabla"); break;
default: System.out.println("That is not a valid number."); nameoftheclass nameoftheobject = new nameofthemethod(); break;}
if (choice1 >2)
{}
else
{rest of the code...}
答案 0 :(得分:0)
我建议你创建一个init()方法来完成该类的所有初始化。在构造函数中,调用init()。然后在程序中稍后需要重新开始时,再次调用init()。
答案 1 :(得分:0)
循环的简单示例:
boolean correct = false;
while(correct == false){
//Your question and input reading needs to be here, inside the loop.
Switch (choice1){
case 1: System.out.println("Blabla"); correct = true; break;
case 2: System.out.println("Blabla"); break;
case 3: System.out.println("Blabla"); correct = true; break;
default: System.out.println("That is not a valid number."); break;}
}
这将重复进行,直到选择了正确答案,由正确标志设置为 true 表示。
请注意,不是解决问题的最佳方式,而是非常简单且易于理解的方式。如果您打算使用多个问题,则应将此代码提取到接受的方法:问题,答案,指示哪个答案是正确的。
答案 2 :(得分:0)
在问题框中回答了我自己。