基本上,我希望我的代码要做的是,如果用户输入除“sum,quit,max,min”之外的任何内容,我希望程序循环返回并再次询问用户选项。我尝试使用while循环,但我无法在其中添加多个String对象。我坚持要做什么。 (另外,我使用if语句而不是while语句,因此它不会不断重复并被卡住。)
编辑:谢谢你的帮助!我使用了一段时间(真实),休息语句,并在最后继续,它似乎工作!public static void main (String [] args){
System.out.println("Enter the option sum, max, min:");
Scanner input = new Scanner (System.in);
user = input.nextLine();
double [] y = theArray();
if (user.equals("sum")){
//do something
}
else if (user.equals("max")){
//do something
}
else if (user.equals("min")){
//do something
}
else if (user.equals("Quit")){
//do something
}
}
}
答案 0 :(得分:1)
正如我在上面的评论中所说,当条件满足时,使用while
无限循环和break
。如果不满足条件,则循环进行下一次迭代。请注意应该循环的内容以及原因。
System.out.println("Enter the option sum, max, min:");
Scanner scanner = new Scanner(System.in);
String option;
while (scanner.hasNextLine()) {
System.out.println("Enter the option sum, max, min:");
option = scanner.nextLine();
if ("sum".equals(option)) {
System.out.println("Sum entered, loop ended");
// do something
break;
} else if ("max".equals(option)) { // the same goes for min, max, quit }
}
答案 1 :(得分:0)
我建议使用recursion:
public static void main (String [] args){
Scanner input = new Scanner (System.in);
promptUser(input);
System.out.println("done");
}
public static void promptUser(Scanner input) {
System.out.println("Enter the option sum, max, min:");
String user = input.nextLine();
double [] y = theArray();
if (user.equals("sum")){
//do something
}
else if (user.equals("max")){
//do something
}
else if (user.equals("min")){
//do something
}
else if (user.equals("Quit")){
//do something
}else {
//if wrong input is entered, try again
promptUser(input);
}
}