Hallo zusammen,
ich bin gerade dabei Java zu lernen und verzweifel an einer Aufgabe. Es soll in der Main-Methode ein Array der Klasse ZutatTyp erstellt werden( ZutatTyp zutatTypen[] = new ZutatTyp[25]). In der Klasse ZutatTyp möchte ich dann dieses Array zugreifen, für mein Rezeptbuch, und dieses mit verschiedenen ZutatTypen befüllen. Allerdings bekomme ich in der Klasse ZutatTyp in meiner Befüllmethode keinen Zugriff auf zutatTypen, welches in der Main Methode in einer anderen Klasse ist.
Kann mir vielleicht jemand auf die Sprünge helfen wie ich das Problem behebe?
[CODE lang="java" title="WasKocheIchHeute Klasse, main Methode"]import java.util.Scanner;
public class WasKocheIchHeute {
public static void main(String[] args) {
ZutatTyp zutatTypen[] = new ZutatTyp[25];
Rezepte recipes[] = new Rezepte[10];
Vorrat[] vorrat = new Vorrat[25];
Scanner sc = new Scanner(System.in);
ZutatTyp zu = new ZutatTyp();
zu.verarbeiteAuswahl(sc);
}
[/CODE]
[CODE lang="java" title="Klasse ZutatTyp, hier befülle ich mit der Methode das Array durch Instanzvariablen der Klasse" highlight="26-33"] private void erstelleZutatTyp(Scanner sc) {
System.out.println();
System.out.println("Eingabe eines neuen Zutattypen:");
System.out.println("===============================");
String wahl = readMuster(sc, "Möchten Sie eine Beschreibung hinzufügen? (J/N)", "[J/j/N/n]");
switch (wahl) {
case "J": name = readString(sc, "Bitte geben Sie einen Namen für den Zutattypen ein:");
beschreibung = readString( sc, "Bitte geben Sie eine Beschreibung ein:");
mengenEinheit = readString(sc, "Geben Sie eine Mengeneinheit ein:");
ZutatTyp zutatTypens = new ZutatTyp(name, beschreibung, mengenEinheit);
this.neuerZutatTyp(zutatTypens);
break;
case "N": name = readString(sc, "Bitte geben Sie einen Namen für den Zutattypen ein:");
mengenEinheit = readString(sc, "Geben Sie eine Mengeneinheit ein:");
zutatTypens = new ZutatTyp(name, mengenEinheit);
this.neuerZutatTyp(zutatTypens);
break;
}
}
public void neuerZutatTyp(ZutatTyp zutatTypens) {
for (int i=0; i< zutatTypen.length; i++) {
if (zutatTypen == null) {
zutatTypen = zT;
System.out.println(i +" "+ this.zutatTypen.name);
return;
}
}[/CODE]
In den Zeilen 26-33 wird mein Array aus der Main methode nicht erkannt.
Danke für alle Hinweise schonmal!!
ich bin gerade dabei Java zu lernen und verzweifel an einer Aufgabe. Es soll in der Main-Methode ein Array der Klasse ZutatTyp erstellt werden( ZutatTyp zutatTypen[] = new ZutatTyp[25]). In der Klasse ZutatTyp möchte ich dann dieses Array zugreifen, für mein Rezeptbuch, und dieses mit verschiedenen ZutatTypen befüllen. Allerdings bekomme ich in der Klasse ZutatTyp in meiner Befüllmethode keinen Zugriff auf zutatTypen, welches in der Main Methode in einer anderen Klasse ist.
Kann mir vielleicht jemand auf die Sprünge helfen wie ich das Problem behebe?
[CODE lang="java" title="WasKocheIchHeute Klasse, main Methode"]import java.util.Scanner;
public class WasKocheIchHeute {
public static void main(String[] args) {
ZutatTyp zutatTypen[] = new ZutatTyp[25];
Rezepte recipes[] = new Rezepte[10];
Vorrat[] vorrat = new Vorrat[25];
Scanner sc = new Scanner(System.in);
ZutatTyp zu = new ZutatTyp();
zu.verarbeiteAuswahl(sc);
}
[/CODE]
[CODE lang="java" title="Klasse ZutatTyp, hier befülle ich mit der Methode das Array durch Instanzvariablen der Klasse" highlight="26-33"] private void erstelleZutatTyp(Scanner sc) {
System.out.println();
System.out.println("Eingabe eines neuen Zutattypen:");
System.out.println("===============================");
String wahl = readMuster(sc, "Möchten Sie eine Beschreibung hinzufügen? (J/N)", "[J/j/N/n]");
switch (wahl) {
case "J": name = readString(sc, "Bitte geben Sie einen Namen für den Zutattypen ein:");
beschreibung = readString( sc, "Bitte geben Sie eine Beschreibung ein:");
mengenEinheit = readString(sc, "Geben Sie eine Mengeneinheit ein:");
ZutatTyp zutatTypens = new ZutatTyp(name, beschreibung, mengenEinheit);
this.neuerZutatTyp(zutatTypens);
break;
case "N": name = readString(sc, "Bitte geben Sie einen Namen für den Zutattypen ein:");
mengenEinheit = readString(sc, "Geben Sie eine Mengeneinheit ein:");
zutatTypens = new ZutatTyp(name, mengenEinheit);
this.neuerZutatTyp(zutatTypens);
break;
}
}
public void neuerZutatTyp(ZutatTyp zutatTypens) {
for (int i=0; i< zutatTypen.length; i++) {
if (zutatTypen == null) {
zutatTypen = zT;
System.out.println(i +" "+ this.zutatTypen.name);
return;
}
}[/CODE]
In den Zeilen 26-33 wird mein Array aus der Main methode nicht erkannt.
Danke für alle Hinweise schonmal!!