首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >非预定义输入或“输入到开关”中的错误输入

非预定义输入或“输入到开关”中的错误输入
EN

Stack Overflow用户
提问于 2018-09-16 21:32:03
回答 3查看 32关注 0票数 1

当输入不同于数字时如何设置消息不提供错误"Exception in thread "main“java.util.InputMismatchException”?

我必须使用if/else语句还是什么?请在我可怜的java中帮助我:)

public static void main(String[] args) {

    System.out.println("Oceń konika od 1 do 6");

    Scanner PodajCyfre = new Scanner( System.in ); //nadanie zmiennej input PodajCyfre


    int WygladKonika = PodajCyfre.nextInt(); // przypisanie PodajCyfre do wartości


    switch (WygladKonika) {

        case 1 :
            System.out.println("Ten konik jest brzydki i mi sie kompletnie nie podoba");
            break;
        case 2:
            System.out.println("Nie jest za ładny ten konik, ale widziałam brzydsze");
            break;
        case 3:
            System.out.println("Taki średni jest ten konik");
            break;
        case 4:
            System.out.println("Ładny konik");
            break;
        case 5:
            System.out.println("Śliczny konik bardzo mi sie podoba");
            break;
        case 6:
            System.out.println("To jest najpiekniejszy konik jakiego widziałam. Uwielbiam go !!");
            break;
        default:
            System.out.println("To nie jest cyfra od 1 do 6");


    }
}

}

EN

回答 3

Stack Overflow用户

发布于 2018-09-16 21:41:31

强制转换到Int扫描器之前检查input.So代码将在while循环中输入。

   public static void main(String[] args) {


        Scanner PodajCyfre = new Scanner(System.in); //nadanie zmiennej input PodajCyfre

        System.out.println("Oceń konika od 1 do 6");
        while (!PodajCyfre.hasNextInt()) {
            System.out.println("Please write a number ! Oceń konika od 1 do 6");
            PodajCyfre.next();
        }

        int WygladKonika = PodajCyfre.nextInt(); // przypisanie PodajCyfre do wartości

        switch (WygladKonika) {

            case 1:
                System.out.println("Ten konik jest brzydki i mi sie kompletnie nie podoba");
                break;
            case 2:
                System.out.println("Nie jest za ładny ten konik, ale widziałam brzydsze");
                break;
            case 3:
                System.out.println("Taki średni jest ten konik");
                break;
            case 4:
                System.out.println("Ładny konik");
                break;
            case 5:
                System.out.println("Śliczny konik bardzo mi sie podoba");
                break;
            case 6:
                System.out.println("To jest najpiekniejszy konik jakiego widziałam. Uwielbiam go !!");
                break;
            default:
                System.out.println("To nie jest cyfra od 1 do 6");


        }
    }
票数 1
EN

Stack Overflow用户

发布于 2018-09-16 21:42:20

按如下方式读取int

int WygladKonika;
try {
    WygladKonika = PodajCyfre.nextInt();
} catch (InputMismatchException e) {
    System.out.println("Input can't be converted to an integer");
    // exit, read another value, etc
}
票数 0
EN

Stack Overflow用户

发布于 2018-09-16 21:47:32

使用try-catch块捕获java.util.InputMismatchException并在发生此异常时显示消息。

try {
    Scanner PodajCyfre = new Scanner(System.in); //nadanie zmiennej input PodajCyfre
    int WygladKonika = PodajCyfre.nextInt(); // przypisanie PodajCyfre do wartości

    switch (WygladKonika) {
        //
    }
} catch (InputMismatchException e) {
    // Exception caught, show message
    System.out.println("Invalid input");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52354658

复制
相关文章

相似问题

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