//判断用户为奇偶数 Scanner sc=new Scanner(System.in); while(sc.hasNext()){//循环,当扫描到下一个元素的时候 System.out.println("请输入一个数:"); int s=sc.nextInt(); if(s==0){ break; }else{ if(s%2==0){ System.out.println("是偶数"); }else{ System.out.println("是奇数"); } } } }
3 回答
onemoo
TA贡献883条经验 获得超454个赞
while 后面小括号中需要是 boolean 类型,当值为 true 时才会执行 while 循环体。所以那个 true 就是 boolean 类型值啊! 这样写 while 就会一直循环下去。
如我前面解释的,while (sc.hasNext()) 会等待你输入了之后才会开始执行 while 循环体,所以在你输入之前,程序没有任何显示。
而 while (true) 会直接开始执行循环体。这样即便你什么也不输入,至少也会看到打印出"请输入一个数:"
通常,用 while 来循环处理 Scanner 时,小括号中表达式更多地使用的是 hasNext 系列。
还有,Scanner 对象在使用结束后要记得调用 close() 来关闭。
onemoo
TA贡献883条经验 获得超454个赞
这个代码确实没有什么大错误。
只是有一点:因为 while 中循环条件用的是 sc.hasNext(),所以在你输入之前,while 都会卡在这里等待你的输入。这样一来,只要你不输入,程序就会等待...
添加回答
举报
0/150
提交
取消