System.out.println("输入:");
//String num1 = sc.next();
/* while(!num1.matches("\\d+"))
{
System.out.println("输入的不是数字,请重新输入");
num1 = sc.next();;
}
System.out.println("你好!");
*/
第2个
if(sc.hasNextInt()==true)
{
int j=sc.nextInt();
}
else
{
System.out.println("输入错误!!!");
}他们都是可以判断 是否为数字! 那他们的区别在与那里 ??本人刚开始学JAVA 有很多不懂的地方需要大家帮助 谢谢!
String num1 = sc.next();
while(!num1.matches("\\d+"))
{
System.out.println("输入的不是数字,请重新输入");
num1 = sc.next();;
}
System.out.println("你好!");第2个
if(sc.hasNextInt()==true)
{
int j=sc.nextInt();
}
else
{
System.out.println("输入错误!!!");
}
得到的num1全是数字。不限定数字的个数。第二个;
只是一个if判断,如果输入的字符串不能转化为int,则输出"输入错误!!!"
能转化为int 就获取int 出来。
但是如果你输入的数字超过Interger的范围,也收不到。
建议去看看Pattern和Matcher
Integer.parseInt(input);
return true;
} catch (Exception e) {
return false;
}
{
Integer.parseInt(input);// 是把input转int类型是吗?转后再判断返回直是否为真 是吗?
return true; //真
}
catch (Exception e) //不懂什么意思?E代表什么呢?求详解 谢谢!
{
return false;//假
}