Пытаюсь прочитать из файла. Бросает исключение - PullRequest
0 голосов
/ 02 декабря 2010

Я пытаюсь прочитать из файла, содержащего один вертикальный файл чисел, и заполняю им матрицу (которая состоит из JTextField s), но когда я пытаюсь установить метод, программа выдает исключение после измененияво второй ряд

for(int a=0; a < i; a++) { 
    for(int b=0; b < i; b++){
        // x = raf.readLine();
        matrix[a][b].setText(raf.readLine());
    }
}

Ответы [ 2 ]

2 голосов
/ 02 декабря 2010

Вы не должны читать файл из класса GUI.Попробуйте разделить проблемы, создав специальный класс для чтения текстового файла.Возможно, пусть ваш класс чтения файлов вернет Iterator<String> строк.Теперь протестируйте ваш класс чтения файлов в модульном тесте и убедитесь, что он правильно отображает строки.

Затем сделайте что-то вроде этого:

Iterator<String> lines = yourHelperClass.getLines()
for(int a=0; a < i; a++) { 
    for(int b=0; b < i; b++){
        if(!lines.hasNext()){
            // not enough lines, probably throw an Exception here
        }
        matrix[a][b].setText(lines.next());
    }
}

Таким образом, будет намного проще найтииз того, что на самом деле идет не так.

Рекомендуется прочитать: Соединение и сплоченность: два краеугольных камня ОО-программирования

2 голосов
/ 02 декабря 2010

Вы, вероятно, хотите что-то более похожее на приведенный ниже пример, используя некоторые подходящие значения для WIDTH и HEIGHT.

for (int row = 0; row < HEIGHT; row++) {
    for (int col = 0 ; col < WIDTH; col++) {
        matrix[row][col].setText(raf.readLine());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...