You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java整数输入验证代码咨询:输入校验与范围校验实现

Java整数输入处理工具方法

我整理了这两个用于处理用户整数输入的Java工具方法,分别对应你提到的两种场景:

1. 持续校验并获取合法整数输入

这个方法会一直等待用户输入合法的整数,只要输入不是整数,就会输出你传入的错误提示,直到用户输入正确为止。

private static int readInputInt(String error) {
    Scanner s = new Scanner(System.in);
    while (!s.hasNextInt()) {
        System.out.println(error);
        s.next();
    }
    int result = s.nextInt();
    // s.close(); 这里注意:如果后续还要使用Scanner,不要随便关闭,否则会关闭System.in
    return result;
}

小提示:代码里注释掉的s.close()要留心——如果你后续还要从控制台读取输入,千万别在这里关闭Scanner,因为它会把System.in也一起关掉,导致后续无法再获取输入。

2. 指定范围的整数输入(仅展示错误信息,不重复提示)

这个方法针对指定范围的整数输入需求,但和第一个方法不同的是,它只会在输入不合法(非整数或超出指定范围)时展示错误信息,不会循环重复请求用户输入。

private static int readInputInt(String error, int min, int max) {
    Scanner s = new Scanner(System.in);
    int result = 0;
    if (s.hasNextInt()) {
        result = s.nextInt();
        if (result < min || result > max) {
            System.out.println(error);
        }
    } else {
        System.out.println(error);
        s.next(); // 清除非法输入缓存,避免后续读取异常
    }
    // 同样注意:不要随意关闭Scanner
    return result;
}

说明:我补全了你没写完的方法参数(添加了范围的min和max),如果你的实际需求有调整,可以根据情况修改判断逻辑。

内容的提问来源于stack exchange,提问作者Wont Provide

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:30:36