繁体   English   中英

在 Switch 菜单上使用 do-while 循环

[英]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); 
     }

您可以通过简单地添加whiledo-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM