在某个地方无限循环?

时间:2017-10-23 15:39:58

标签: arrays

我正在编写一个程序来从给定的.txt文件中获取项目并将它们放入一个数组中,然后从该数组中根据数字将其打印为一个字符。由于某种原因,它不断打印3个空格,然后在符号处打印8个,创建一个新行并无限重复。我已经尝试过一个switch语句(已注释掉),但它做了同样的事情。 cloudberry是从中读取的数组,它包含所有正确的数字。

while (read.hasNextLine()) {
    int nutmeg = 0;
    for (int x = 0; x < cloudberry.length;x++ ){

        for (int y = 0; y < cloudberry[x].length;y++){

            nutmeg = cloudberry[x][y];
            switch (nutmeg){
                case 1: 
                    System.out.print("@");
                    break;
                case 2:
                    System.out.print("+");
                    break;
                case 3:
                    System.out.print(" ");
                    break;
            }
        }
    }
}

1 个答案:

答案 0 :(得分:2)

您的代码检查是否有新行,但您实际上从未读过它,因此总是读取相同的行并且外部循环无限迭代。

代码应该是这样的:

while (read.hasNextLine()) {
   String line = read.nextLine();
   ...
}