请指出错误,输入不为0的数字时候,不停的执行"继续输入"。请问错在哪里呢

来源:6-1 break语句

KABOKUO

2017-10-20 10:17:53

System.out.println("输入数字:");

Scanner sc=new Scanner(System.in);

        int n=sc.nextInt();

        while(true) {

             if(n==0) {

             System.out.print(n);break;

             }else{

             System.out.println("继续输入");

             }

        }


写回答

2回答

Ethan_Lee

2017-10-20

 int n=sc.nextInt();//把这一句放到while循环里面来。因为在键盘输入的数要传到n,如果这句放在while外面的话,只有你第一次输入0时会立即结束,此时执行的是if语句,而如果输入的非零,那么while循环就会成为死循环。http://img1.sycdn.imooc.com/climg/59e9654f0001e61904160534.jpg

第二张图:

http://img1.sycdn.imooc.com/climg/59e965810001fdb003920601.jpg

1
hthan_Lee
回复
hABOKUO
h 互相学习,共同进步。
h017-10-20
共2条回复

煮茶温书

2017-10-20

 while(true),这里是一个死循环。而你的n判断的是不等于0,所以一直执行“继续输入”

0

0 学习 · 14452 问题

查看课程