首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >切换案例验证

切换案例验证
EN

Stack Overflow用户
提问于 2019-03-04 01:31:11
回答 3查看 408关注 0票数 0

我正在尝试验证switch case语句,以确保用户没有输入任何字符或字符串类型。我该如何做到这一点?我一直在尝试使用while语句,但是我无法验证它。

代码语言:javascript
复制
public static boolean showMenu()
{
    // Print welcome message
    System.out.println("\nApplication Menu : ");
    System.out.println("[1] Help");
    System.out.println("[2] Add");
    System.out.println("[3] Subtract");
    System.out.println("[4] Multiply");
    System.out.println("[5] Divide");
    System.out.println("[6] Quit");

    int SelectMenu = jin.nextInt();

    switch(SelectMenu)
    {

        case 1:
        showChoice();
        break;

        case 2:
        add();
        break;

        case 3:
        subtract();
        break;

        case 4:
        multiply();
        break;

        case 5:
        divide();
        break;

        case 6:
        return false;

    }
    return true;
}
EN

回答 3

Stack Overflow用户

发布于 2019-03-04 01:37:10

您可以按如下方式使用循环:

代码语言:javascript
复制
String line = jin.nextLine();
while(!line.matches("\\d")){
    System.out.println("Nope, please enter a digit");
    line = jin.nextLine();
}
int selectMenu  = Integer.parseInt(line);
票数 0
EN

Stack Overflow用户

发布于 2019-03-04 01:41:08

看一下这个简单的示例,并将其应用到您的代码中:

代码语言:javascript
复制
/**
 *
 * @author Momir Sarac
 */
public class SwitchExample {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("\nApplication Menu : ");
        System.out.println("[1] Help");
        System.out.println("[2] Add");
        System.out.println("[3] Subtract");
        System.out.println("[4] Multiply");
        System.out.println("[5] Divide");
        System.out.println("[6] Quit");

        while (!scanner.hasNextInt()) scanner.next();
        int number = scanner.nextInt();
        switch (number) {
            case 1:
                clickedHelp();
                break;
            case 2:
                clickedAdd();
                break;
            case 3:
                clickedSubtract();
                break;
            case 4:
                clickedMultiply();
                break;
            case 5:
                clickedDivide();
                break;
            default:
                clickedSomething();

        }

    }

    public static void clickedHelp(){
        System.out.println("Help!");
    }


    public static void clickedAdd(){
        System.out.println("Add");
    }


    public static void clickedSubtract(){
        System.out.println("Subtract");
    }


    public static void clickedMultiply(){
        System.out.println("Multiply");
    }


    public static void clickedDivide(){
        System.out.println("Divide");
    }

    public static void clickedSomething(){
        System.out.println("Exit");
        System.exit(0);
    }

}
票数 0
EN

Stack Overflow用户

发布于 2019-03-04 01:58:21

我希望你需要做这样的事情

代码语言:javascript
复制
public static boolean showMenu()
{


    while(true) {

        // Print welcome message
        System.out.println("\nApplication Menu : ");
        System.out.println("[1] Help");
        System.out.println("[2] Add");
        System.out.println("[3] Subtract");
        System.out.println("[4] Multiply");
        System.out.println("[5] Divide");
        System.out.println("[6] Quit");

        int SelectMenu = jin.nextInt();

        switch(SelectMenu)
        {

            case 1:
                showChoice();
                break;

            case 2:
                add();
                break;

            case 3:
                subtract();
                break;

            case 4:
                multiply();
                break;

            case 5:
                divide();
                break;

            case 6:
                return false;

        }

    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54971698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档