Lösungsvorschlag 5.3 - Aufgabe 1

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
public class MAGIC {
//Deklaration und Initialisierung des Arrays
private int [ ][ ] mq = {{4,9,2},{3,5,7},{8,1,6}};

//Testmethode mit sum als Parameter für die Testsumme (hier 15)
public void test(int sum){
if (mq [0][0]+mq [0][1]+mq [0][2] == sum &&
mq [1][0]+mq [1][1]+mq [1][2] == sum &&
mq [2][0]+mq [2][1]+mq [2][2] == sum &&
mq [0][0]+mq [1][0]+mq [2][0] == sum &&
mq [0][1]+mq [1][1]+mq [2][1] == sum &&
mq [0][2]+mq [1][2]+mq [2][2] == sum &&
mq [0][0]+mq [1][1]+mq [2][2] == sum &&
mq [2][0]+mq [1][1]+mq [0][2] == sum )
{System.out.println("Es handelt sich um ein magisches Quadrat");}
else {System.out.println("Es handelt sich nicht um ein magisches Quadrat");};
}}

Vorschläge zur Erweiterung:

  • Mit drei auf Schleifen basierenden Methoden kann die Summe von Zeilen, Spalten und Diagonalen allgemein für beliebig große zweidimensionale Felder berechnet werden. Verallgemeinere das Programm so, dass magische Quadrate beliebiger Größe gestestet werden können.
  • Schreibe ein Programm, das automatisch magische Quadrate erzeugt. Anleitungen finden sich z.B. hier: