java怎么用if判断输入的是不是数字

2024-11-18 19:41:41
推荐回答(2个)
回答1:

public static void main(String[] args) {
//1.使用类型转换判断
boolean flag = true;
try {
String str=new Scanner(System.in).next();
int num=Integer.valueOf(str);//把字符串强制转换为数字
} catch (Exception e) {
flag = false;//如果抛出异常,返回False
}
//2.使用正则表达式判断
String str = new Scanner(System.in).next();
boolean isNum = str.matches("[0-9]+");
//+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")

if(flag){//isNum
System.out.println("输入的是数字");
}else{
System.out.println("输入的不是数字");
}
}
给了你两种判断方法,希望能帮到你!

回答2:

你输入不是整数,应该会出现异常,所以最好直接加try...catch代码,将有可能出现异常的代码放在try代码块里面,catch代码块是捕获出现的异常并作出处理