doubleyong
管理员
管理员
  • 最后登录2025-12-02
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:10120回复:0

关于使用 hasNextInt() 方法

楼主#
更多 发布于:2016-01-21 09:58
hasNextInt()方法是判断控制台接收是否为数字, 当你在控制台输入一个字符的时候, hasNextInt()判断你输入这个字符是不是数字,而不是接收值.
   在对类型进行了判断后,还在进行相应的类型接收:
如:int num = input.nextInt();
String str = input.next();
在未进行接收时,再执行hasNextInt ,结果为返回第一次输入的判断状态,并且,不在提示输入:
如: 第一种情况
if(input.hasNextInt()){
System.out.println(input.hasNextInt());
 int num = input.nextInt();
}
分析: 在接收输入值前,重复的调用,所以它返回的是第一次输入时的判断结果,不会再次提示输入
 第二种情况
 if(input.hasNextInt()){
int num = input.nextInt();
System.out.println(input.hasNextInt());
}

分析: 此情况,是在接收输入值后,再重复调用hasNextInt(), 它将提供用户第二次输入,然后,输出第二次输入值的判断结果

此外,在循环判断用户输入时,注意以下情况

do{
 if(input.hasNextInt()){
 int num = input.nextInt();
                 break;
        }else{
                    System.out.println("请输入数字");
  // input.next();
 }
}while(true);

分析: 循环判断,用户输入的为数字,注意,在用户输入不为数字时,也要进入接收,否则,将会出现死循环。 直接添加input.next()接收数据,可不用保存在变量中。

最新喜欢:

312312 狗哥爱爱萍狗哥爱爱萍
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号