61 lines
1.8 KiB
Java

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();
}
}