为了账号安全,请及时绑定邮箱和手机立即绑定

当用户输入错误的字符或无效的输入数据时,如何显示“打印”错误?

当用户输入错误的字符或无效的输入数据时,如何显示“打印”错误?

猛跑小猪 2019-04-18 17:15:44
我想知道是否有一种简单的方法来显示错误字符或无效输入数据的错误。public static void main(String[] args) {     // Step 1: Create new Scanner object.     Scanner input = new Scanner(System.in);              // Step 2: Prompt the user to enter today's day.     System.out.print("Enter today’s day as an Integer (0-6): ");     int Today = input.nextInt();     // Step 3: Prompt the user to enter the number of days elapsed since today.     System.out.print("Enter the number of days elapsed since today as an Integer: ");     int DaysElapsed= input.nextInt();     // Step 4: Compute the future day.     int FutureDay = (Today + DaysElapsed) % 7;     // Step 5: Printing the results.         // Step 5.1: Today's day result depending the case.         System.out.print("Today is ");             // Step 5.2: Future day result depending the case.         System.out.print(" and the future day is ");
查看完整描述

2 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

因为你只是期待'int'来自scanner.nextInt()它会抛出InputMismatchException异常。所以你可以int像这样轻松验证你的输入-

try {
   int Today = input.nextInt();
   int DaysElapsed= input.nextInt();} catch (InputMismatchException){
   System.err.println("Input is not an integer");}

Scanner.nextInt()也抛出NoSuchElementExceptionIllegalStateException异常此外,您可以通过使用条件(today>=1 && today=<31)验证输入日期是否有效


查看完整回答
反对 回复 2019-05-15
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

使用nextInt(),您已经将允许的值过滤为整数。但是,如果您希望用户输入有限范围内的值,您可以使用以下内容:

    int Today = 0;

    if (input.hasNextInt()) {
        if (input.nextInt() < 32 && input.nextInt() > 0) { //should be between 0-32

            Today = input.nextInt();

        } else {

            throw new Exception("Number must be between 0-32");
        }
    }

编辑:

如果您想继续出错:

    int Today = 0;
    if(input.hasNextInt()) {

        Today = input.nextInt();
        while (!(Today > 0 && Today < 32)){

            System.out.println("Number must be between 0-32");
            Today = input.nextInt();
        }
    }


查看完整回答
反对 回复 2019-05-15
  • 2 回答
  • 0 关注
  • 675 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信