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

System.out.println("\t\t\t\t欢迎使用富贵不能淫购物系统1.0版!");
System.out.println("\t\t\t\t\t1.登录系统");
System.out.println("\t\t\t\t\t2.退出");
System.out.println("**********************************");
System.out.print("请输入数字:");
Scanner input = new Scanner(System.in);
int x = input.nextInt();
if (x == 1) {
System.out.println("1.客户信息管理");
System.out.println("2.购物结算");
System.out.println("3.真情回馈");
System.out.println("4.注销");
System.out.print("请输入数字:");
int y = input.nextInt();
switch (y) {
case 1:
System.out.println("1.显示所有客户信息");
System.out.println("2.添加客户信息");
System.out.println("3.查询客户信息");
System.out.println("4.修改客户信息");
break;
case 3:
System.out.println("1.幸运大放送");
System.out.println("2.幸运抽奖");
System.out.println("3.生日问候");
break;
case 4:
System.out.println("你已注销!");
break;

}
} else
System.out.println("你已经退出系统");

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("输入的不是数字");
}
}
给了你两种判断方法,希望能帮到你!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-23
你输入不是整数,应该会出现异常,所以最好直接加try...catch代码,将有可能出现异常的代码放在try代码块里面,catch代码块是捕获出现的异常并作出处理
相似回答