Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重新启动switch case语句_Java_Menu_Switch Statement - Fatal编程技术网

Java 重新启动switch case语句

Java 重新启动switch case语句,java,menu,switch-statement,Java,Menu,Switch Statement,希望我能在这里找到帮助,事实上im设计程序,让用户输入字符串值包含0或1,然后菜单出现,以帮助用户选择从4选项把我的问题我不能返回菜单显示后,第一次使用,因为程序无法运行任何选择后,第一次选择。。。 再次感谢你 Scanner input = new Scanner(System.in); System.out.print("Enter 0s or 1s Numbers "); String binaryString = input.nextLine();// user m

希望我能在这里找到帮助,事实上im设计程序,让用户输入字符串值包含0或1,然后菜单出现,以帮助用户选择从4选项把我的问题我不能返回菜单显示后,第一次使用,因为程序无法运行任何选择后,第一次选择。。。 再次感谢你

  Scanner input = new Scanner(System.in);
    System.out.print("Enter 0s or 1s Numbers  ");
    String binaryString = input.nextLine();// user must enter string value contains 0 or 1 
    convert.displayMenu();// call the display menu which contains 4 choices
    Scanner input2 = new Scanner(System.in);// the user select the 1 option from 4
    int select = input2.nextInt(); // to save what user enter it 
    // here is the switch statement im use it 
    switch (select) {
        case 1:
            input2.equals(1);
            convert.getBinary(binaryString);
            convert.displayMenu();
         break;
        case 2:
            input2.equals(2);
            convert.convertBtD(binaryString);
            convert.displayMenu();
            break;
        case 3:
            input2.equals(2);
            convert.convertBtO(binaryString);
            convert.displayMenu();
            break ;
        case 4:
            break;
    }
    while(select != 4);
    }

您应该单独调用此方法,如下所示:

    public void menu(){
        Scanner input = new Scanner(System.in);
        System.out.print("Enter 0s or 1s Numbers  ");
        String binaryString = input.nextLine();// user must enter string value contains 0 or 1 
        convert.displayMenu();// call the display menu which contains 4 choices
        Scanner input2 = new Scanner(System.in);// the user select the 1 option from 4
        int select = input2.nextInt(); // to save what user enter it 
        // here is the switch statement im use it  switch (select) {
            case 1:
                input2.equals(1);
                convert.getBinary(binaryString);
                convert.displayMenu();
             break;
            case 2:
                input2.equals(2);
                convert.convertBtD(binaryString);
                convert.displayMenu();
                break;
            case 3:
                input2.equals(2);
                convert.convertBtO(binaryString);
                convert.displayMenu();
                break ;
            case 4:
                break;

            case 5: 
                System.out.println("Exit Point");
                System.exit(0);
        } 
menu();
}

我只是将这段代码添加到一个方法中,并在该方法的末尾添加一个call menu()。为了退出应用程序,我还创建了案例5。这是您的逻辑,如何正确操作,但您得到了实现此目标的主要大纲:)

您应该单独调用此方法,如:

    public void menu(){
        Scanner input = new Scanner(System.in);
        System.out.print("Enter 0s or 1s Numbers  ");
        String binaryString = input.nextLine();// user must enter string value contains 0 or 1 
        convert.displayMenu();// call the display menu which contains 4 choices
        Scanner input2 = new Scanner(System.in);// the user select the 1 option from 4
        int select = input2.nextInt(); // to save what user enter it 
        // here is the switch statement im use it  switch (select) {
            case 1:
                input2.equals(1);
                convert.getBinary(binaryString);
                convert.displayMenu();
             break;
            case 2:
                input2.equals(2);
                convert.convertBtD(binaryString);
                convert.displayMenu();
                break;
            case 3:
                input2.equals(2);
                convert.convertBtO(binaryString);
                convert.displayMenu();
                break ;
            case 4:
                break;

            case 5: 
                System.out.println("Exit Point");
                System.exit(0);
        } 
menu();
}

我只是将这段代码添加到一个方法中,并在该方法的末尾添加一个call menu()。为了退出应用程序,我还创建了案例5。这是您的逻辑,如何正确操作,但您得到了实现这一点的主要提纲:)

此循环重新启动switch/case语句:

inputloop: while(true) {
  int select = input2.nextInt();
  switch (select) {
    case 1:
        input2.equals(1);
        convert.getBinary(binaryString);
        break;
    case 2:
        input2.equals(2);
        convert.convertBtD(binaryString);
        break;
    case 3:
        input2.equals(2);
        convert.convertBtO(binaryString);
        break ;
    case 4:
        break inputloop;
  }
  convert.displayMenu();
}

可以通过循环条件为
select!=4
但是这个更简洁(从我的角度来看)

这个循环重新启动switch/case语句:

inputloop: while(true) {
  int select = input2.nextInt();
  switch (select) {
    case 1:
        input2.equals(1);
        convert.getBinary(binaryString);
        break;
    case 2:
        input2.equals(2);
        convert.convertBtD(binaryString);
        break;
    case 3:
        input2.equals(2);
        convert.convertBtO(binaryString);
        break ;
    case 4:
        break inputloop;
  }
  convert.displayMenu();
}

可以通过循环条件为
select!=4
但是这个更简洁(从我的角度来看)

一个简单的解决方案可以实现如下:

    while(1){
    Scanner input2 = new Scanner(System.in);// the user select the 1 option from 4
    int select = input2.nextInt(); // to save what user enter it 
    switch(select)
    {
        case 1:
            input2.equals(1);
            convert.getBinary(binaryString);
            convert.displayMenu();
            break;
        case 2:
            input2.equals(2);
            convert.convertBtD(binaryString);
            convert.displayMenu();
            break;
        case 3:
            input2.equals(2);
            convert.convertBtO(binaryString);
            convert.displayMenu();
            break ;
        case 4:
            break;
    }
    if(select == 4)
        break;

}一个简单的解决方案可以实现如下:

    while(1){
    Scanner input2 = new Scanner(System.in);// the user select the 1 option from 4
    int select = input2.nextInt(); // to save what user enter it 
    switch(select)
    {
        case 1:
            input2.equals(1);
            convert.getBinary(binaryString);
            convert.displayMenu();
            break;
        case 2:
            input2.equals(2);
            convert.convertBtD(binaryString);
            convert.displayMenu();
            break;
        case 3:
            input2.equals(2);
            convert.convertBtO(binaryString);
            convert.displayMenu();
            break ;
        case 4:
            break;
    }
    if(select == 4)
        break;

}

似乎您的switch语句需要在while循环中检查扫描仪是否有输入,可能是
while(input2.nextInt()){…}
谢谢您paul在运行case dosent work时在第一次选择后放入循环它似乎您的switch语句需要在while循环中检查扫描仪是否有输入,也许
while(input2.nextInt()){…}
谢谢paul在运行案例时放置循环在第一次选择后工作Corona谢谢你使用它的循环完美且工作良好Corona谢谢你使用它的循环完美且工作良好谢谢你Sarz我会尝试的谢谢你Sarz我也会尝试的