Im пытается распечатать сетку точек и Xs, которые читаются из текстового файла, но по какой-то причине она просто берет одну из точек и снова добавляет ее в массив снова, вместо того, чтобы читать каждый отдельный символ и добавление этого массива в соответствующее место. Как я могу это исправить?Array добавляет один и тот же символ повторно?
Код:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;
public class Project4 {
public static void main(String[] args) throws IOException {
Scanner input = new Scanner(System.in); // Created a scanner
System.out.println("Enter the file name you would like to use");
File file = new File(input.nextLine()); // Takes file name to find file
Scanner inputFromFile = new Scanner(file);
FileInputStream fileInput = new FileInputStream(file); // reads file
int r;
while ((r = fileInput.read()) != -1) { // goes through each character in
// file, char by char
char c = (char) r;
for (int i = 0; i < 25; i++) {
for (int y = 0; y < 75 ; y++) { // Adds file values to Array
GameOfLife.grid[i][y] = c;
}
}
}
// Prints the initial environment
System.out.println("Initial set: ");
for (int j = 0; j < GameOfLife.grid.length; j++)
System.out.println(GameOfLife.grid[j]);
}
}
GameOfLife:
import java.util.Arrays;
public class GameOfLife {
static final int m = 25; // number of rows
static final int n = 75; // number of columns
static char[][] grid = new char [m][n]; // Creates an empty (no dots or X's)grid of rows and columns.
}
Для примера:
Ваш цикл for внутри вас, поэтому вы прокручиваете «сетку» и переопределяете все его значения символом, который вы читаете каждый раз, когда вы читаете 1 символ. – dguay