Hallo,
ich will ein Sodoku programmieren. Dazu erstelle ich eine Klasse Sodoku, in der ich ein zwei dimensionales Array anlege, dass 9x9 sein soll.
Dabei soll im Konstruktor als Parameter den Namen einer einzulesenden Datei enthält, die das
Spielfeld erzeugen soll. Wie geht das. Wie binde ich das ein?
Die Datei ist ein Textdokument mit dem Namen Test und enthält:
***9**728
278**3*1*
*9****64*
*5**6*2**
**6***3**
*1**5****
1**7*6*34
***5*4***
7*91**8*5
Mein Programmcode bis hierhin:
ich will ein Sodoku programmieren. Dazu erstelle ich eine Klasse Sodoku, in der ich ein zwei dimensionales Array anlege, dass 9x9 sein soll.
Dabei soll im Konstruktor als Parameter den Namen einer einzulesenden Datei enthält, die das
Spielfeld erzeugen soll. Wie geht das. Wie binde ich das ein?
Die Datei ist ein Textdokument mit dem Namen Test und enthält:
***9**728
278**3*1*
*9****64*
*5**6*2**
**6***3**
*1**5****
1**7*6*34
***5*4***
7*91**8*5
Mein Programmcode bis hierhin:
Java:
import java.io.*;
public class Sudoku {
private byte[][] spielfeld;
// weitere Attribute !
public Sudoku(String file) throws IOException {
// Initialisierung des Spielfeldes
spielfeld = new byte[9][9];
// Laden der Werte aus der Datei file und ...
BufferedReader in = new BufferedReader(new FileReader(file));
String temp;
for(int i=0; i<9; i++) {
temp = in.readLine();
// ... speichern dieser Werte in das Spielfeld
for(int j=0; j<9; j++) {
if(temp.charAt(j) == '*') spielfeld[i][j] = 0;
else {
spielfeld[i][j] = (byte)(temp.charAt(j) - '0');
}
}