关于hasNextInt()方法的疑惑

guan_tu 2013-10-10 04:17:18

Scanner in =new Scanner(System.in);
System.out.println("请输入被除数:");
int num1=0;
String str=null;
if(in.hasNextInt()){
num1=in.nextInt();
System.out.println("输入的整数为"+num1);
}else{
str=in.next();
System.out.println("输入的被除数不是整数,程序退出!");
System.exit(1);
}

上面这段代码,当执行到in.hasNextInt()时,出现等待用户输入,然后执行到下一个等待用户输入的方法时就不用再次输入了,可不可以理解为in.hasNextInt()方法中对下一次的用户输入方法做了处理呢?
...全文
825 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
morelzh 2013-10-11
  • 打赏
  • 举报
回复
java虚拟机有个自动回收机制,你这个方法只被调用过一次而已不再被使用,然后就回收。
其实很简单,要实现你要的效果,添加个死循环就行。代码如下
快乐的小呆 2013-10-11
  • 打赏
  • 举报
回复
in.nextInt();表示准备接受一个int型的值。在接收完之后,如果你还想接收一个int型的值,可以再写一个in.nextInt();就可以了。
乔不思 2013-10-11
  • 打赏
  • 举报
回复
地区键盘录入 觉得 Io流好点 Scanner 我用的很少(我的经验也很少呵呵) BufferedReader br=new BufferedReader(new InputStreamReader(System.in));//读取键盘输入到 内存缓冲区
guan_tu 2013-10-10
  • 打赏
  • 举报
回复
还有上面代码中的Scanner对象 in我发现也有一个 close()的方法,我只知道像数据库连接对象有close()方法,为什么这里的in也有close()方法呢,到底哪些情况下是需要有close()的呢?

67,542

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧