JAVA und das Sudoku Rätsel

klausuraufgabe

Da ich gerade in der Prüfungsvorbereitung bin, schaue ich mir natürlich alte Klausuren der letzten Jahre an. Besonders im Fach Programmieren (Java) scheint das ja recht naheliegend. Die obige Fragestellung, die an Sudoku angelehnt und eigentlich noch weiter vereinfacht ist, schien mir zwar auf den ersten Blick recht simpel, dennoch saß ich recht lange vor meinem Eclipse und bekam einfach nichts Ordentliches heraus. Klar, bei der konkreten Fragestellung mit 9 Zahlen hätte man auch ganz simpel 9 Variablen anlegen können und diese dann einzeln abfragen. Wäre in der Klausur bestimmt akzeptiert worden, aber schön sieht anders aus.  So, nachdem ich dann mein ganzes Umfeld mit diesem „Rätsel“ genervt hatte, kam die eine oder andere interessante Idee für einen Ansatz heraus.

Hier also meiner:

public class Sudoku {

	public static boolean sudokuChecker(int sudokufeld[][]) {

		int anzahl = sudokufeld.length * sudokufeld[0].length;
		boolean[] pruefArray = new boolean [anzahl];

		for (int i = 0; i < sudokufeld.length; i++) {

			for (int j = 0; j < sudokufeld[0].length; j++) {

			pruefArray[sudokufeld[i][j]-1] = true;	
                        // boolsches Array anlegen,
                        // Wenn Index = zu prüfende Zahl
                        // -> auf true setzen
			}

		}

		for (int z = 0; z < pruefArray.length; z++) {
			if (pruefArray[z] != true) return false;
                        // gibt es ein Feld im Prüfarray, das 
                        // nicht true ist?
		}
			return true;
	        }	

		public static void main(String[] args) {

			int[][] sudokufeld = {{1,2,3} , {4,5,6} , {7,8,9}};
			System.out.println(sudokuChecker(sudokufeld));
		}
}

Sehen sicher putzig aus, diese Gehversuche eines Java-Neulings. Dürfte aber soweit funktionieren und sieht nun im Nachhinein auch ganz simpel und logisch aus – und funktioniert mit quadratischen Feldern beliebiger Größe. Ich frage mich nur, ob ich das auch in der Klausur (die mit Kulli und Papier zu bewältigen ist) so hinbekommen hätte…

The following two tabs change content below.
Servus! Mein Name ist Michael Gregor, ich bin ehemaliger E-Commerce Student an der FHWS, Blogger, Webworker und schon IT-Geek seit ich 1994 meinem ersten 386er hatte 🙂 Meine Leidenschaft gilt neben den alten Bekannten wie SEO und Bloggen inzwischen dem Aufbau von Online Akademien und Kursplattformen.