2D Array- Zeilensummen und Spaltensummen müssen die selben Summen haben. Wie prüfen?

1 Antwort

import java.util.Scanner;


public class Main {


	public static void main(String[] args) {
		int[][] quadrat = new int[3][3];
		Scanner keyScan = new Scanner(System.in);


		// Quadrat einlesen
		System.out.println("Bitte 9 Zahlen eingeben und mit Enter abschliessen");
		for (int i = 0; i < 3; i++) {
			for (int j = 0; j < 3; j++) {
				quadrat[i][j] = keyScan.nextInt();
			}
		}


		boolean magisch = true;
		int magischeZahl = 0;


		// Summe für die erste Zeile ermitteln
		for (int j = 0; j < 3; j++) {
			magischeZahl = magischeZahl + quadrat[0][j];
		}


		// Summe für die folgenden Zeile bilden und mit 'magischeZahl' vergleichen
		// Schleifenzähler i beginnt bei 1, die erste Zeile schon berechnet wurde.
		for (int i = 1; magisch && i < 3; i++) {
			int summe = 0;


			for (int j = 0; j < 3; j++) {
				summe = summe + quadrat[i][j];
			}


			magisch = magischeZahl == summe;
		}


		// Summe für die Spalten bilden und mit 'magischeZahl' vergleichen
		for (int j = 0; magisch && j < 3; j++) {
			int summe = 0;


			for (int i = 0; i < 3; i++) {
				summe = summe + quadrat[i][j];
			}


			magisch = magischeZahl == summe;
		}


		// Summe für die Diagonalen bilden und mit 'magischeZahl' vergleichen
		if (magisch) {
			int summe1 = 0; // Diagonale 1
			int summe2 = 0; // Diagonale 2


			for (int i = 0; i < 3; i++) {
				summe1 = summe1 + quadrat[i][i];
				summe2 = summe2 + quadrat[i][2 - i];
			}


			magisch = magischeZahl == summe1;
			magisch = magischeZahl == summe2;
		}


		// Ausgabe des Ergebnisses
		if (magisch) {
			System.out.println("Magisch: " + magischeZahl);
		} else {
			System.out.println("Nicht magisch");
		}
		keyScan.close();
	}
}
Woher ich das weiß:Berufserfahrung
newinformatik 
Fragesteller
 20.11.2022, 17:44

super besten Dank für die Hilfe!!!!!!

0