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

如何实现用户输入整数而非字符串时显示‘INVALID’提示?

解决方案

针对你需要判断用户输入是否为数字并输出"INVALID"的需求,这里提供两种实用的实现方式:

方法一:正则表达式匹配

通过正则表达式检查输入是否为纯数字(或包含数字,可按需调整):

System.out.println("\nEnter Your Name:");
String name = tc.next();
// 检查输入是否为纯数字
if (name.matches("\\d+")) {
    System.out.println("INVALID");
} else {
    // 处理合法名字的逻辑
    System.out.println("Hello, " + name);
}

如果需要禁止名字中包含任何数字(比如"abc123"也判定无效),可以把正则改为.*\\d.*:

if (name.matches(".*\\d.*")) {
    System.out.println("INVALID");
}

方法二:使用Scanner的类型判断方法

利用Scanner的hasNextInt()方法直接判断输入是否为整数类型:

System.out.println("\nEnter Your Name:");
if (tc.hasNextInt()) {
    // 输入是整数,输出INVALID并消费该输入
    tc.next();
    System.out.println("INVALID");
} else {
    // 输入非整数,获取合法名字
    String name = tc.next();
    System.out.println("Hello, " + name);
}

注意:调用hasNextInt()后如果判定为整数,必须调用tc.next()将该输入读取掉,否则后续的输入读取会重复获取这个数字。

内容的提问来源于stack exchange,提问作者Davensio Vlogs

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 17:15:37