当前位置: 首页 > 知识库问答 >
问题:

Java用户输入错误处理

韩博厚
2023-03-14

我有一个简单的java程序,接受3个用户输入类型的整数,双和字符串。我想知道对所有这些输入执行错误处理的最佳/最有效的方法,以保持程序运行,通知用户他们输入了一个错误的输入,并再次问他们这个问题。任何帮助都将不胜感激。

这是我的代码

    Scanner scan = new Scanner(System.in);
    int inputInt;
    double inputDbl;
    String inputString;


    System.out.print("Please enter a whole number: ");
    inputInt = scan.nextInt();      
    System.out.print("Please enter a decimal number: ");
    inputDbl = scan.nextDouble();
    System.out.print("Please enter a string: ");
    inputString = scan.next().toLowerCase();    

共有1个答案

辛才俊
2023-03-14

谢谢所有的人,你们太棒了。我选择只使用一个使用布尔触发器的简单dowhile循环。我以前尝试过使用try catches,但最终编写了大量代码来执行非常基本的输入检查。所以这里没有任何异常处理,我希望这种方式没有必要。希望这不会让我崩溃

do {
        System.out.print("Please enter a whole number: ");
        if (scan.hasNextInt()){     
        inputInt = scan.nextInt();
        validInput = true;
        } else
            System.out.println("You have entered incorrect input! Please enter a whole number only");
            scan.nextLine();
        } while (validInput == false);  

        validInput = false;

        do {
        System.out.print("Please enter a decimal number: ");
        ......
        ......
 类似资料:
  • 为了让用户和你的应用进行交互,我们可以用v-on指令添加一个事件监听器,通过它调用在 Vue 实例中定义的方法: <div id="app-5"> <p>{{ message }}</p> <button v-on:click="reverseMessage">逆转消息</button> </div> var app5 = new Vue({ el: '#app-5', dat

  • 我创建了以下类,用于输入用户的年龄,然后在控制台中显示适当的信息。 运行此程序时,控制台会询问“请输入您的年龄:”

  • 我想停止路由的情况下,如果用户凭据改变,为此,我想处理但这不工作: 和错误处理器 在控制台中,我得到了这个异常,但它没有得到处理。 错在哪里? 解决方案: 添加参数到endpointURL 在路由生成器中添加异常处理程序 实现如果您将设置为true,则只能通过这种方式访问异常 这是阿帕奇骆驼留档

  • 我正在尝试通过单行输入检索用户输入:例如,使用扫描仪分隔符为Comma5,6,4,8,9。如何使用这种类型的输入检索任意数量的整数?也就是说,不必询问用户希望输入多少个整数。下面是我一直在使用的代码,但是当我想中断时,不能中断while循环。请注意,我保留System.Out以跟踪程序当前运行的位置。令人困惑的是,我可以以这种格式获得用户输入,但程序停止并再次要求用户输入,然后如果输入是一个整数,

  • 我正在开发一个待办事项列表程序。 我想让用户可以输入日期、时间和关于。我已经知道日期了。我错过的是时间。 但我有很多例外。我错过了什么吗?

  • 我有这个代码,我想捕捉字母异常,但它一直有以下错误: 这是我的代码: