Я пытаюсь получить этот код для чтения в текстовом файле, а затем заполнить сетку 15x15 числами из файла.Что он делает, так это только заполняет сетку нулями.Я не уверен, как это исправить, но я думаю, что проблема в том, как я пытаюсь использовать list.indexOf () в цикле.
Я попытался перейти на использование list.get (i) илииспользуя j, который не сработал так, как мне нужно.
public Grid(String fileName) throws FileNotFoundException {
//reading file using scanner
Scanner sc = new Scanner(new File(fileName));
//first number is the dimension for rows
this.rows = sc.nextInt();
//since it is square matrix second dimension is same as first
this.cols = this.rows;
grid = new boolean[rows][cols];
String longNumber = sc.next();
List<Integer> list = new ArrayList<>();
for(char ch : longNumber.toCharArray()) {
list.add( Integer.valueOf(String.valueOf(ch)));
}
for (int i = 0; i < rows; i++)
for (int j = 0; j < cols; j++) {
//reading from file 1 and 0 if 1 then store true else store false in grid
if (list.indexOf(i) == 1)
grid[i][j] = true;
else
grid[i][j] = false;
}
}
Я получаю вывод, показывающий 15x15 блок 0, а не 1 и 0, которые считываются из текстового файла,Текстовый файл должен быть прочитан и отображен (вместе с количеством капель или сгустков в 1), но этого не происходит.Если вам нужен остальной код, пожалуйста, дайте мне знать.Мне необходимо прочитать в файле, который содержит int (15), который используется для создания сетки, а затем 15 строк из 1 и 0, которые должны отображаться таким же образом, когда программа работает должным образом.