Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
So wie du es bisher schon machst
Das Problem ist, daß du in der main-Methode ein eigenes lokales Feld deklarierst.
Code:
String[] feld = new String[9];
Schreib einfach
Code:
feld = new String[9];
Dann wird auf das "äußere" feld Bezug genommen.
Zweitens sind alle deine Methoden (main sowiese) static, beziehen sich also auf
die Klasse, während deine Deklaration am Anfang nicht-static ist; diese Variable
also nur in einer Instanz deiner Klasse existiert.
Je nachdem was du haben willst, gibt es also zwei Lösungen:
Statisch:
Code:
class arr
{
public static String[] feld;
public static void ausgeben()
{
for(int i=1;i<9;i++)
{
System.out.println(feld[i]);
}
}
public static void init()
{
for(int i=1;i<9;i++)
{
feld[i]="1";
}
}
public static void main(String[] args)
{
feld = new String[9];
init();
ausgeben();
}
}
Aber dann hast du nur ein einziges feld im gesamten Programm. Was du wohl eher meinst ist:
Code:
class Arr
{
public String[] feld;
public void ausgeben()
{
for(int i=1;i<9;i++)
{
System.out.println(feld[i]);
}
}
public void init()
{
for(int i=1;i<9;i++)
{
feld[i]="1";
}
}
public static void main(String[] args)
{
Arr myArr = new Arr();
arr.feld = new String[9];
arr.init();
arr.ausgeben();
}
}
Vorschlag: Ein bischen mehr in einem Tutorial die Grundbegriffe von Klassen, Instanzen, Instanzvariablen...
erarbeiten:
Also :### ???:L testen, :### ???:L testen, :### ???:L testen