почему мой код работает в бесконечном цикле? Помещение чего-либо из двух разных файлов в два массива - PullRequest
0 голосов
/ 23 октября 2019

Может кто-нибудь сказать мне, почему этот код работает бесконечно? Я попробовал все, чтобы исправить это, но все еще не могу понять это. Первая половина кода работает. Но вторая половина не работает.

public static void main(String[] args) throws FileNotFoundException{
    Scanner in;
    in = new Scanner (new File ("ratings"));

    int[] [] ratings = new int [30] [20];
    int j = 0;

    while (in.hasNextLine()){
        for (int i = 0; i < 20; i++){
            ratings [j] [i] = in.nextInt();
        }
        j++;
    }
    in.close();
    for (int i = 0; i < ratings.length; i++){
        for (int k = 0; k < ratings[i].length; k++){
            System.out.print(ratings [i][k] + "");
        }
        System.out.println();
    }

    Scanner in1;
    in1 =  new Scanner(new File("books"));

    String[] books = new String [20];

    while (in1.hasNextLine()) {
        for (int i = 0; i < books.length; i++){
            books [i] = in1.toString(); 
        }
    }
    in1.close();
}

1 Ответ

0 голосов
/ 23 октября 2019

В последнем цикле, поскольку книги являются строковыми, вы, вероятно, имеете опечатку и измените in1.toString на in1.next () или in1.nextLine () в зависимости от вашей файловой структуры и формата:

books [i] = in1.toString(); == например => books [i] = in1.nextLine();

Ура!

...