Java Netbeans zeigt Fehler bei der Variablendeklaration

Nein die Main ist bei mir in einer anderen Klasse. Innerhalb einer Methode ließen sich die Variablen fehlferfrei setzen.
Ausserhalb nicht. Nun bin ich schlauer, dank diesem Thread.
 
du kannst arrays auch außerhalb initialisieren:

int[] a = {10,9,8,7,6,5,4,3,2,1}

inwiefern das mit mehrdimensionalen arrays geht weiß ich leider nicht.
 
Danke, wieder was dazu gelernt :)
 
Ansonsten lassen sich Instanzvariablen auch in einem Initializer-Block initialisieren, wenn man, wie der TE nur bestimmte Werte vom default-Wert (in diesem Fall 0) abweichen lassen möchte.

Code:
public class Test {

	int[][] a = new int[10][10];

	{
		a[5][3] = 1;
		a[6][4] = 1;
		a[4][5] = 1;
		a[5][5] = 1;
		a[6][5] = 1;
	}

	public static void main(String[] args) {
		Test test = new Test();
		System.out.println(test.a[5][3] + ", " + test.a[6][4] + ", "
				+ test.a[4][5] + ", " + test.a[5][5] + ", " + test.a[6][5]
				+ ", " + test.a[9][9]);
		// Ergibt 1, 1, 1, 1, 1, 0 

	}
}
 
Zuletzt bearbeitet:
Hab da noch ne Frage:

Weiso funktioniert folgende Funktion nicht in Java. Oder wie muss ich sie abändern, damit sie funktioniert?

int[][] a = {{1, 2}, {2, 3, 4}, {5, 6}};
int e =1;

System.out.println(a[if(e >= 10 && e <= -1) 0 else e][0];

Ich möchte mit der if Konstruktion einen Out of Bounce Fehler beheben.
 
0 und e sind keine Anweisungen, sondern das eine ist ein Integer Literal und das andere eine Integer Variable. Möglich wäre das allerdings mit dem ternären Operator:
Code:
System.out.println(a[(e >= 10 && e <= -1) ? 0 : e][0]);

Achja: In Java nennt man "Funktionen" übrigens "Methoden" ;).
 
Zuletzt bearbeitet:
Dankeschön.Funktioniert. Habe nur blöderweise ein Und-zeichen gesetzt, besser ist dort natürlich ein Oderzeichen.
 
Zurück
Oben