为什么当我输入不是正确的数,会反复打印
package com.imooc.flow1;
import java.util.Scanner;
public class GuessDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
int number=6;
int guess;
System.out.println("猜介于1-10的数");
Scanner sc=new Scanner(System.in);
guess=sc.nextInt();
do {
System.out.println("请输入:");
if(guess<number) {
System.out.println("too small");
}
else if(guess>number) {
System.out.println("too big");
}
}while(number!=guess);
System.out.println("Correct");
}
}
正在回答
你的guess=sc.nextInt();语句在do-while循环之外,所以实际上guess的值在第一次键盘输入后一直没有改变,这样子相当于形成了死循环
同学你好,楼上同学的说法是正确的,同学可以将guess=sc.nextInt();放在循环中,每次判断都是新输入的数据,但是Scanner对象可以只创建一次,放在循环外面,比如:
import java.util.Scanner; public class GuessDemo { public static void main(String[] args) { // TODO Auto-generated method stub int number=6; int guess; System.out.println("猜介于1-10的数"); Scanner sc=new Scanner(System.in); do { System.out.println("请输入:"); guess=sc.nextInt(); if(guess<number) { System.out.println("too small"); } else if(guess>number) { System.out.println("too big"); } }while(number!=guess); System.out.println("Correct"); } }
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
- 参与学习 人
- 提交作业 9401 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星