Debug Current Instruction Pointer Fehler

D

Dendemeier

Gast
Hallo Zusammen

Ich möchte in Java eine 3*3 Matrix ausgeben. Wie diese aussehen sollte könnt ihr dem nachfolgenden Code entnehmen. Leider Funktioniert es aber nicht. Wenn ich das Programm laufen lasse, dann zeit Eclipse mir immer einen Fehler an und markiert mir folgende Zeile: a[0][2] = ' ';
Links, wo normal die Fehlerhinweise angezeigt werden zeigt ein Pfeil auf diese Zeile und da steht "Debug Current Instruction Pointer". Wenn ich das gleiche Beispiel mit einer "Char" Deklaratio und z.B. "X" für alle Zahlen mache funktioniert es. Hat jemand eine Idee mit was das Eclipse da nicht zufrieden ist?

Java:
public class bosspuzzle {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		int [] [] a = new int [2] [2];
		
		a[0][0] = '3';
		a[0][1] = '4';
		a[0][2] = ' ';
		a[1][0] = '7';
		a[1][1] = '8';
		a[1][2] = '5';
		a[2][0] = '2';
		a[2][1] = '1';
		a[2][2] = '6';
		
		for(int i=0; i<2; i++){
			for(int j=0; j<2; j++)
			{System.out.print(a[i][j]);
			}
		System.out.println(); /*Zeilenumbruch*/
		}
	}

}
 
D

Dendemeier

Gast
oh ja wie dumm. aber wenn ich
int[] [] a = new int[3] [3];
deklariere gibt eclipse wieder ne fehlermeldung.

Mit dem typ char läuft es problemlos ond gibt mir die matrix aus.
warum ist das so? ganzzahlige zahlen sind doch vom typ integer?
 
M

Marcinek

Gast
Weil '6' ein char ist und kein int

du musst sonst (int)'6' schreiben. Aber dann hast du den ascii wert von 6 und nicht die 6
 
D

Dendemeier

Gast
ist es weil die ' ' den Inhalt als "Text" wiedergeben? dann ist es klar.

dankeschön
 

Jodo

Aktives Mitglied
Also die Zuweisungen
Code:
int x = '1';
und
Code:
int y = ' ';
funktionieren. Du bekommst dann aber eben den ASCII Wert wie Marcinek schon gesagt hat. Der Fehler müsste wo anders stecken. Welchen Fehler spuckt dir Eclipse denn aus?

[EDIT]Also bei mir kompiliert dein Code wunderbar und lässt sich auch ausführen. Es sind ja keine Fehler im Code. Ausser natürlich dass die falschen Werte benutzt werden, dadurch dass du char's anstast int's zuweist. Kompilier und führ das Programm mal in der Konsole aus und poste bitte mal den Fehler. Das mit dem "Debug Current Instruction Pointer" hat ja nichts mit dem Ausführen zu tun.[/EDIT]
 
Zuletzt bearbeitet:
D

Dendemeier

Gast
Ja bei mir funktioniert es auch. hab keinen fehler mehr. die frage war nur noch warum man den array als char und nicht als int deklarieren muss. aber das hat sich jetzt geklärt. danke euch
 

Jodo

Aktives Mitglied
Muss man ja nicht. Es kommt darauf an, was du damit machen willst. Wenn du mit Zahlenwerten rechnen willst, solltest du halt ein int-Array benutzen und ihm auch int's zuweisen. Wenn du nur Werte eintragen willst und diese später irgendwann ausgeben, dann kannst du das auch mit einem int-Array machen musst ihm aber int's übergeben, da sonst wie in deinem Beispiel die ASCII Zahlencodes verwendet werden (für die Ziffern 0-9 bekommst du Zahlen 48-57) oder du benutzt für diesen Fall eben ein char-Array wenn du mit der Matrix nicht rechnen willst.
 

Ähnliche Java Themen

Neue Themen


Oben