timi先生 2020-06-17 23:18 采纳率: 50%
浏览 577
已采纳

救命啊!while(true)循环跳不出去了!!

public class Solution {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
ArrayList arr = new ArrayList<>();
String s = sc.nextLine();
while (true){
arr.add(s);
if(s.equals("结束"))
break;

        arr.add(s);

    }

    for(String a : arr) {
        System.out.println(a);
    }
    //在此编写你的代码
}

}
这个循环为什么无法跳出?

  • 写回答

3条回答 默认 最新

  • KeanuSan 2020-06-18 08:28
    关注

    String s = sc.nextLine();
    你的从键盘输入的语句要放到while循环中才能实现每次都更改这个变量s的值。
    造成死循环的原因就是因为s一直是你第一次输入的内容,内容没有被改变,所以除非第一次就输入“结束”,否则无法满足if的条件,从而退出。

    public class Solution {
    public static void main(String[] args) throws IOException {
    Scanner sc = new Scanner(System.in);
    ArrayList arr = new ArrayList<>();
    while (true){
    String s = sc.nextLine();
    arr.add(s);
    if(s.equals("结束"))
    break;
    }
    for(String a : arr) {
          System.out.println(a);
    }
    }}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序