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 有很多不懂的地方需要大家帮助 谢谢!
解决方案 »
- 100分求poi、pdfbox,commons包 读(pdf,xls,xlsx,doc,docx,ppt,pptx)的demo
- 如何在代码的行头显示行号?
- 一道很简单的求大于平均值的JAVA题
- 如何在一个提供多线程功能的Applet上输出1到20的数字?
- 关于 Panel的理解
- 这两个程序为什么会有区别..?
- 高分求java绘图程序源代码
- 怎样解决JButton上中文是方框的问题????????
- 为什么Forte IDE中的中文都是乱码?
- 使用Commons-net包中的FTPClient在获取文件列表时返回为空
- java一道有趣的动画题。
- 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;//假
}