[英]Using a do-while loop on a Switch menu
对不起
这个问题是不允许的,我受到了严厉的批评
一种。 定义一个变量来验证用户是否输入了一个 validNumber。 湾在 do while 循环中,检查数字是否有效
例如:
do{
System.out.println("Please entire your Module choice");
int choice;
choice = scanner.nextInt();
boolean invalidChoice=false;
switch (choice){
case 1:
...
break;
case 2:
...
break;
default:
invalidChoice=true;
print ("Please enter valid choice");
} while(invalidChoice);
根据作为评论一部分添加的我的假设,最好为用户添加帮助文本,例如“请完成您的模块选择(1-11)”
int choice=0;
boolean isChoiceValid ;
public void moduleSelection() {
while(!isChoiceValid) {
System.out.println("1\t Algorithms");
System.out.println("2\t Advanced Programming");
System.out.println("3\t Computer Architecture and Operating Systems");
System.out.println("4\t Artificial intelligence and Machine Learning");
System.out.println("5\t Computer and Mobile Networks");
System.out.println("6\t Software Engineering");
System.out.println("7\t Big Data Analyics");
System.out.println("8\t Cyber Security Threats");
System.out.println("9\t Research Methods");
System.out.println("10\t Research Project Proposal");
System.out.println("11\t Individual Research Project");
System.out.println("Please entire your Module choice (1-11)");
choice = scanner.nextInt();
if(choice>=1 && choice<=11)
{
isChoiceValid =true;
}
}
您需要在侧循环中控制开关盒。 除此之外,您需要提供一个退出循环的选项。 我使用存在条件作为 99 作为输入。
public static void main(String[] args) {
boolean doYouWantToExit = false;
Scanner scanner = new Scanner(System.in);
do {
System.out.println("1\t Algorithms");
System.out.println("2\t Advanced Programming");
System.out.println("3\t Computer Architecture and Operating Systems");
System.out.println("4\t Artificial intelligence and Machine Learning");
System.out.println("5\t Computer and Mobile Networks");
System.out.println("6\t Software Engineering");
System.out.println("7\t Big Data Analyics");
System.out.println("8\t Cyber Security Threats");
System.out.println("9\t Research Methods");
System.out.println("10\t Research Project Proposal");
System.out.println("11\t Individual Research Project");
System.out.println("99\t Do you want to exist");
System.out.println("Please entire your Module choice");
int choice;
choice = Integer.parseInt(scanner.nextLine());
switch (choice)
{
case 1: System.out.println("Algorithms");
break;
case 2: System.out.println("Advanced Programming");
break;
case 3: System.out.println("Computer Architecture and Operating Systems");
break;
case 4: System.out.println("Artificial intelligence and Machine Learning");
break;
case 5: System.out.println("Computer and Mobile Networks");
break;
case 6: System.out.println("Software Engineering");
break;
case 7: System.out.println("Big Data Analytics");
break;
case 8: System.out.println("Cyber Security Threats");
break;
case 9: System.out.println("Research Methods");
break;
case 10: System.out.println("Research Project Proposal");
break;
case 11: System.out.println("Individual Research Project");
break;
case 99:
doYouWantToExit = true;
break;
default: System.out.println("Please select a valid Module");
break;
}
}while(!doYouWantToExit);
}
您可以通过简单地添加while
或do-while
循环来做到这一点
更新了你的方法。 查看:
private void moduleSelection() {
int choice = -1;
while (true) {
System.out.println("1\t Algorithms");
System.out.println("2\t Advanced Programming");
System.out.println("3\t Computer Architecture and Operating Systems");
System.out.println("4\t Artificial intelligence and Machine Learning");
System.out.println("5\t Computer and Mobile Networks");
System.out.println("6\t Software Engineering");
System.out.println("7\t Big Data Analyics");
System.out.println("8\t Cyber Security Threats");
System.out.println("9\t Research Methods");
System.out.println("10\t Research Project Proposal");
System.out.println("11\t Individual Research Project");
System.out.println("0\t Exit");
System.out.println("Please entire your Module choice");
choice = scanner.nextInt();
switch (choice) {
case 0:
System.exit(1);
break;
case 1:
System.out.println("Algorithms");
break;
case 2:
System.out.println("Advanced Programming");
break;
case 3:
System.out.println("Computer Architecture and Operating Systems");
break;
case 4:
System.out.println("Artificial intelligence and Machine Learning");
break;
case 5:
System.out.println("Computer and Mobile Networks");
break;
case 6:
System.out.println("Software Engineering");
break;
case 7:
System.out.println("Big Data Analytics");
break;
case 8:
System.out.println("Cyber Security Threats");
break;
case 9:
System.out.println("Research Methods");
break;
case 10:
System.out.println("Research Project Proposal");
break;
case 11:
System.out.println("Individual Research Project");
break;
default:
System.out.println("Please select a valid Module");
break;
}
}
}
您可以更改您的代码,如:
int choice;
choice = scanner.nextInt();
if(choice>=1&& choice<=11){
switch (choice)
{ ...
您可以使用标签:
loop:
while (true) {
System.out.println("Please entire your Module choice");
int choice;
choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println("Algorithms");
break loop;
case 2:
System.out.println("Advanced Programming");
break loop;
case 3:
System.out.println("Computer Architecture and Operating Systems");
break loop;
case 4:
System.out.println("Artificial intelligence and Machine Learning");
break loop;
case 5:
System.out.println("Computer and Mobile Networks");
break loop;
case 6:
System.out.println("Software Engineering");
break loop;
case 7:
System.out.println("Big Data Analytics");
break loop;
case 8:
System.out.println("Cyber Security Threats");
break loop;
case 9:
System.out.println("Research Methods");
break loop;
case 10:
System.out.println("Research Project Proposal");
break loop;
case 11:
System.out.println("Individual Research Project");
break loop;
}
}
}
public void moduleSelection() {
boolean switch;
do{
switch = false;
System.out.println("1\t Algorithms");
System.out.println("2\t Advanced Programming");
System.out.println("3\t Computer Architecture and Operating Systems");
System.out.println("4\t Artificial intelligence and Machine Learning");
System.out.println("5\t Computer and Mobile Networks");
System.out.println("6\t Software Engineering");
System.out.println("7\t Big Data Analyics");
System.out.println("8\t Cyber Security Threats");
System.out.println("9\t Research Methods");
System.out.println("10\t Research Project Proposal");
System.out.println("11\t Individual Research Project");
System.out.println("Please entire your Module choice");
int choice;
choice = scanner.nextInt();
switch (choice)
{
case 1: System.out.println("Algorithms");
break;
case 2: System.out.println("Advanced Programming");
break;
case 3: System.out.println("Computer Architecture and Operating Systems");
break;
case 4: System.out.println("Artificial intelligence and Machine Learning");
break;
case 5: System.out.println("Computer and Mobile Networks");
break;
case 6: System.out.println("Software Engineering");
break;
case 7: System.out.println("Big Data Analytics");
break;
case 8: System.out.println("Cyber Security Threats");
break;
case 9: System.out.println("Research Methods");
break;
case 10: System.out.println("Research Project Proposal");
break;
case 11: System.out.println("Individual Research Project");
break;
default: System.out.println("Please select a valid Module");
switch = true;
break;
}
}while(switch)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.