m0_65160826 2021-12-11 11:47 采纳率: 100%
浏览 89
已结题

java 要求用户输入数字,捕获错误,并给用户无数次机会。正确时停止。

要求用户输入数字。如果输入错误,要求捕获错误,告知用户,给用户下一次输入的机会。直到正确为止,运行停止。(期间用户不输入任何东西,必须自动给下一次机会,且不限次数。)如果输入正确,告知用户正确,程序运行结束。

  • 写回答

4条回答 默认 最新

  • CTimet 2021-12-11 12:25
    关注

    这个简单。我们想一下,用户输入的东西会是什么
    字符串和数字
    对,这两种组合。我们要求用户输入数字,则要调用nextInt方法。可是这个方法不能接受字符串,会产生异常,所以我们需要一个try
    代码类似于这样:

    import java.util.Scanner;
    
    public class UsersInput
    {
        public static void main(String[] args)
        {
            try
            {
                Scanner in = new Scanner(System.in);
                System.out.println("请输入数字:");
                int usersInput = in.nextInt();
            } catch (NumberFormatException e) {
                
            }
        }
    }
    

    到这里,一个基础的捕获异常的机制就有了,不过,我们还需要确定如何判断用户输入正确。即输入正确数字。这个很简单。try语句没执行catch分支那么用户就算是输入了正确的数字,并且要用while实现循环,这里我们这样:

    import java.util.Scanner;
    
    public class UsersInput
    {
        public static void main(String[] args)
        {
            while (true)
            {
                try
                {
                    Scanner in = new Scanner(System.in);
                    System.out.println("请输入数字:");
                    int usersInput = in.nextInt();
                    System.out.println("输入正确!你输入了一个数字。程序结束");
                    break;//这里也可以换成System.exit(0);直接结束程序
                } catch (NumberFormatException e) {
                    System.out.println("输入错误!输入的不是数字,请继续");
                    continue;//使用continue结束此次循环,开启下次循环
                }
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月26日
  • 已采纳回答 12月18日
  • 创建了问题 12月11日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测