import java.io.DataInputStream; import java.io.FileInputStream; import java.io.IOException; public class Grid { private Cell[][] cells; public Grid() { cells = new Cell[9][9]; for (int i = 0; i < 9; i++) { for (int column = 0; column < 9; column++) { cells[i][column] = new Cell(); } } } public void loadGridFromFile(String fileName) { try (DataInputStream input = new DataInputStream(new FileInputStream(fileName))) { for (int i = 0; i < 9; i++) { String line = String.valueOf(input.readInt()); for (int column = 0; column < 9; column++) { int value; if (column < line.length()) { char digit = line.charAt(column); value = Character.getNumericValue(digit); } else { value = 0; } cells[i][column].setValue(value); } } System.out.println("Success"); System.out.println(this); } catch (IOException e) { System.err.println("Error: " + e.getMessage()); } } public Cell getCell(int i, int column) { return cells[i][column]; } public void setCell(int i, int column, int value) { cells[i][column].setValue(value); } @Override public String toString() { StringBuilder sb = new StringBuilder(); for (int i = 0; i < 9; i++) { for (int column = 0; column < 9; column++) { int value = cells[i][column].getValue(); sb.append(value).append(" "); } sb.append("\n"); } return sb.toString(); } }