Array problem bei einem magischen Quadrats

node

Mitglied
Moin Leute,
ich hab ein kleines Problem mit einer Aufgabe ich soll magisches Zahlenquadrat, mit variabler aber ungerader Seitenlänge, erstellen. Viele von euch werden sich jetzt sicher sagen nicht schon wieder. Ich denke das ich schon so gut wie fertig bin hab aber ein Problem mit dem Array.

Ich hoffe Ihr könnt mir helfen den Fehler in meinem Code zu finden.

das hier ist die fehlermeldung ich denke das die aktion die ich ausführe über die grenzen des arrays hinausgeht.

Code:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
	at mw.main(mw.java:32)

Java:
import java.util.InputMismatchException;
import java.util.Scanner;

public class mw {

	public static void main(String [] args){
		int in=0, row=0, col=0, kantLaeg=0, i;
		int[][] quadAr = {null};
		
		while(true){
			try{
				Scanner eingabe = new Scanner(System.in);
				in=eingabe.nextInt();
				
				kantLaeg=in;

			//prüfen ob die zahl ungerade und größer als eins ist
				if((in%2)!=0 && in>1){
					//erstellen des array
					quadAr = new int[in][in];
					
					for(i=1; i<=kantLaeg*kantLaeg; i++){
						//mitteln der eins
						if(i==1){
							col=kantLaeg/2;
							quadAr[row][col]=1;
						}

						//fall zahl ist die eingegeben zahl oder ein vielfaches von ihr
						if((kantLaeg-1)%i==0) {	
							row--;
							quadAr[row][col]=i;
						}else{
							//oberste zeile und noch weiter
							if(row==0 && i!=1) {	
								row=row + (kantLaeg-1);
								col++;
							}
							//letzte spalte ist erreicht
							if(col==(kantLaeg-1) && i!=1) {	
								row++;
								col=col+(kantLaeg-1);
							}
							//
							row++;
							col++;
						}

					}
					
					for(row = 0; row < kantLaeg; row++){
						for(col = 0; col < kantLaeg; col++){
							System.out.printf("%4d", quadAr[row][col]);
//							System.out.printf("\n");
						}
						System.out.printf("\n");
					}
				}
			}catch (InputMismatchException ex) {
				System.out.println("nur zahlen du *****!");
			}
		}
	}
}
 
M

Marcinek

Gast
Hallo,

was eine ArrayIndexOutOfBounds Exception ist, kann man überall nachlesen.

Dann sagt dir der Fehlercode in welcher Zeile es kommt.

Ich schlage vor du gibst vor dieser Stelle aus, welche index Werte du an dem Array abfragst und dann siehst du, dass die zu hoch oder zu niedrig sind.
;(
 

Landei

Top Contributor
Also das Problem währe gelöst. Aber trotzdem kommt nur mist dabei raus aber danke.

Statt den Fehler für dich rauszupuzzeln gebe ich mal ein paar allgemeine Hinweise:

- Lerne, wie man mit einem Debugger umgeht. Ist wirklich nicht schwierig und hilft ungemein
- Die main-Funktion ist viel zu lang. Zerlege das Programm in kleinere Funktionen. Tu das, bevor du irgend etwas anderes versuchst
- Schreibe die Funktionen so, dass du sie einzeln gut testen kannst. Eine Funktion sollte nur eine einzige Aufgabe erledigen (schon "Wert berechnen und ausgeben" sind zwei), siehe "Single Responsibility Principle"
- Das wäre auch eine gute Gelegenheit, JUnit als Test-Framework kennenzulernen (insbesondere, wenn das von deiner IDE schon unterstützt wird)
- Einige Namen könnten besser sein (wobei ich schon viel schlimmeres gesehen habe). Keine Angst vor etwas längeren Namen, Hauptsache, sie beschreiben den Zweck. mw ist übrigens ein furchtbarer Name für eine Klasse.
- Vermische die Abstraktionsebenen nicht. Eine Funktion, die z.B. die Werte-Eingabe einer anderen Funktion überlässt, ist damit auf einer höheren Abstraktionsstufe, und sollte dann auch die Berechnung oder Ausgabe nicht selbst ausführen, sondern das dann auch delegieren.
- Falls du schon Objektorientierung hattest: Schaue, ob sie hier Vorteile bringen würde (bei kleinen Puzzle-Problemen ist das nicht immer der Fall, bei "echten" Anwendungen fast immer)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Problem mit einem Array aus JButtons Java Basics - Anfänger-Themen 4
G Problem mit der Rückgabe von einem Array Java Basics - Anfänger-Themen 3
G Problem mit Array bei einem 4-Gewinnt Spiel Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
A Array problem Java Basics - Anfänger-Themen 16
J Problem mit Array: 2 Klassen Java Basics - Anfänger-Themen 2
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
B Array Problem Java Basics - Anfänger-Themen 3
F Problem mit der Aufgabe(Array) Java Basics - Anfänger-Themen 21
H boolean Array Problem Java Basics - Anfänger-Themen 7
B Problem beim grundsätzlichen Verständnis bei Rekursion mit 2-dimensionalen Array Java Basics - Anfänger-Themen 6
S Problem: Array alle Einträge gleich Java Basics - Anfänger-Themen 10
L Array-Problem/Zufallszahlen Java Basics - Anfänger-Themen 7
G Problem mit Array Java Basics - Anfänger-Themen 2
K Problem mit Methode(Array,Boolean,ForSchleife) Java Basics - Anfänger-Themen 6
C Problem mit Arrays im Array Java Basics - Anfänger-Themen 11
A Problem mit Array Ausgabe Java Basics - Anfänger-Themen 7
L 2 dimensionales Array, Problem der Ausgabe Java Basics - Anfänger-Themen 4
E Array Problem Java Basics - Anfänger-Themen 1
L Problem mit Array Programm Java Basics - Anfänger-Themen 2
M Array problem Java Basics - Anfänger-Themen 9
M If und Array-Problem Java Basics - Anfänger-Themen 6
P OOP Array-Problem Java Basics - Anfänger-Themen 5
S Problem mit Array.Length Java Basics - Anfänger-Themen 2
R Array Problem Java Basics - Anfänger-Themen 17
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
P Array queue problem Java Basics - Anfänger-Themen 1
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
F Problem mit Array Java Basics - Anfänger-Themen 8
N OOP Problem mit Array Java Basics - Anfänger-Themen 17
M Problem mit 2D Array Java Basics - Anfänger-Themen 3
M Problem mit Array und replace Java Basics - Anfänger-Themen 3
D Array Problem Java Basics - Anfänger-Themen 4
F Array Problem !? Java Basics - Anfänger-Themen 6
M Erste Schritte Array Problem Java Basics - Anfänger-Themen 8
F Problem mit Array, Java Basics - Anfänger-Themen 4
F Problem: Verschlüsselung von String in Array Fehler Java Basics - Anfänger-Themen 2
S Problem bei Kollision zwischen Array-objekten! Java Basics - Anfänger-Themen 2
B Problem mit Array Java Basics - Anfänger-Themen 5
J Array Problem Java Basics - Anfänger-Themen 2
K Problem beim Array aufruf Java Basics - Anfänger-Themen 4
D Klassen Problem mit Eigener Array-Klasse Java Basics - Anfänger-Themen 10
P Klassen Klassen mit Array Problem Java Basics - Anfänger-Themen 4
T Problem mit Array Konvertierung Java Basics - Anfänger-Themen 13
T ArrayIndexOutOfBoundsException - Problem mit Array-Größe Java Basics - Anfänger-Themen 4
L Array Problem NullPointerException Java Basics - Anfänger-Themen 3
K Problem: Array String to Integer Java Basics - Anfänger-Themen 2
M Char-Array Problem Java Basics - Anfänger-Themen 6
D Problem mit TextFeld Array Java Basics - Anfänger-Themen 18
A Array Zugriff- Problem Java Basics - Anfänger-Themen 5
V 2D - Objekt Array Problem Java Basics - Anfänger-Themen 3
K Java Array Problem Java Basics - Anfänger-Themen 3
L Problem mit Array Java Basics - Anfänger-Themen 3
K kleines Array-Problem Java Basics - Anfänger-Themen 6
X Array out of bounds problem Java Basics - Anfänger-Themen 7
M Array Problem Java Basics - Anfänger-Themen 2
K Generische Klasse mit innerer Klasse | Problem mit Array Java Basics - Anfänger-Themen 6
E Array Problem... Java Basics - Anfänger-Themen 14
P array problem Java Basics - Anfänger-Themen 9
P Codeschnipsel Verständnis Problem (Array) Java Basics - Anfänger-Themen 6
F Array Problem bei ByteburgTarif Java Basics - Anfänger-Themen 2
P Problem mit Laden und Ausgeben eines array-Objekts Java Basics - Anfänger-Themen 4
D Array multiplikations Problem Java Basics - Anfänger-Themen 26
D Array Problem Java Basics - Anfänger-Themen 5
B Mehrdimensionale Array Problem Java Basics - Anfänger-Themen 12
T Array-Vector Problem Java Basics - Anfänger-Themen 18
T Blutiger Anfänger mit Array Problem Java Basics - Anfänger-Themen 8
T problem mit array Java Basics - Anfänger-Themen 9
S String split array.length Problem Java Basics - Anfänger-Themen 3
B Problem mit Object Array Java Basics - Anfänger-Themen 8
W Problem mit BubbleSort und Array Java Basics - Anfänger-Themen 10
G Array-Problem Java Basics - Anfänger-Themen 3
M sinus berechnen array problem Java Basics - Anfänger-Themen 2
C array problem Java Basics - Anfänger-Themen 7
G Array ,Matrix Problem Java Basics - Anfänger-Themen 20
Antoras Problem mit Array Java Basics - Anfänger-Themen 5
K Problem mit 2 Dimensionalen Array Java Basics - Anfänger-Themen 4
D Array reverse Problem, da Referenz nicht auf tmpArray zeigt Java Basics - Anfänger-Themen 4
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
0 Array problem Java Basics - Anfänger-Themen 4
S Problem mit Array-Erstellung Java Basics - Anfänger-Themen 5
A array problem Java Basics - Anfänger-Themen 4
G array Problem Java Basics - Anfänger-Themen 9
H Problem mit array Java Basics - Anfänger-Themen 5
zilti Array-Problem Java Basics - Anfänger-Themen 6
J Array - Vertauschen Problem mit char/int Java Basics - Anfänger-Themen 6
M Problem mit Array in Methodenkopf Java Basics - Anfänger-Themen 2
K problem beim schreiben in ein int-array Java Basics - Anfänger-Themen 9
S JTable Problem mit einzufügendem Array Java Basics - Anfänger-Themen 6
D Problem mit Array brauche schnell Hilfe Java Basics - Anfänger-Themen 11
R Problem mit AbstractTableModel oder Array! Java Basics - Anfänger-Themen 5
K problem mit resultset und 2d-array Java Basics - Anfänger-Themen 3
G Problem mit array Java Basics - Anfänger-Themen 2
P Array-Problem Java Basics - Anfänger-Themen 4
L Array Problem Java Basics - Anfänger-Themen 9
B Array Manipulation Problem Java Basics - Anfänger-Themen 11
B Array Problem (out of Bounds Exception) Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben