Array in Main Methode aus anderer Klasse aufrufen

DoMa96

Mitglied
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?

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);
        
        
        }

Klasse ZutatTyp, hier befülle ich mit der Methode das Array durch Instanzvariablen der Klasse:
    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[i] == null) {
                zutatTypen[i] = zT;
                System.out.println(i +" "+ this.zutatTypen[i].name);
                
                return;
            }
        
            
        }

In den Zeilen 26-33 wird mein Array aus der Main methode nicht erkannt.

Danke für alle Hinweise schonmal!!
 

temi

Top Contributor
Ich hab mir den Code nicht ganz genau angeschaut, aber ich denke du machst zuviel in deiner Klasse ZutatTyp. Die soll doch nur eine Zutat speichern, mehr nicht. Die Ein- oder Ausgabe hat darin nichts verloren und kann in eine Methode der Main-Klasse oder besser in eine separate Klasse für das Userinterface.

Kann man sich auch einfach überlegen. Ein ZutatTyp wäre z. B. eine Zwiebel. Muss die Zwiebel die anderen Zutaten oder das Rezeptbuch kennen? Hingegen muss das Rezept alle Zutaten kennen und das Rezeptbuch alle Rezepte. Aus dem lassen sich damit drei sinnvolle Klasse herauslesen: Zutat, Rezept und Rezeptbuch. Dabei ist Zutat einfach nur eine Zutat. Rezept hat viele Zutaten (ein Array von Zutaten) und Rezeptbuch hat viele Rezepte (ein Array von Rezepten). Das wäre eine logische Herangehensweise an das Problem.
 
Zuletzt bearbeitet:

temi

Top Contributor
Um auch noch eine Antwort auf deine eigentliche Frage zu geben:

Du könntest das an anderer Stelle erzeugte Array als Parameter in die andere Klasse hineinreichen. Entweder im Konstruktor (wenn die gesamte Klasse Zugriff darauf benötigt) oder in der Methode (wenn nur die Methode den Zugriff benötigt).
Java:
class Foo {
  
    private int[] arr;
  
    public Foo(int[] arr) { // Konstruktor erhält ein Array und speichert es in der Instanzvariablen
        this.arr = arr;
    }

    // alle Methoden der Klasse haben nun Zugriff auf die Instanzvariable arr

}

class Bar {
  
    public void doSomething(int[] arr) { // Methode erhält ein Array und kann es verwenden
        // ..
        int value = arr[2];
        // ..
        arr[0] = value;
    }
}

// und irgendwo anders

int[] arr = new int[42];

Foo foo = new Foo(arr); // übergibt das Array an foo

Bar bar = new Bar();
bar.doSomething(arr); // übergibt das Array an bar.doSomething()
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Wozu nutzt man in der Main Methode das args Array? Java Basics - Anfänger-Themen 10
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
M Methode mit Array als Parameter an Main übergeben Java Basics - Anfänger-Themen 1
X Array von Methode in Main übergeben? Java Basics - Anfänger-Themen 11
G Array in main Methode bilden und in einer Methode nutzen? Java Basics - Anfänger-Themen 11
S Array über ein Ausgabemethode in main ausgeben Java Basics - Anfänger-Themen 31
J Kapselung Array in Set ändern und in Main ausgeben lassen Java Basics - Anfänger-Themen 4
S Klassen Array: Übergabe von Klasse zur Main Java Basics - Anfänger-Themen 8
B String Array in main() Java Basics - Anfänger-Themen 2
K main-Exception in Array class Java Basics - Anfänger-Themen 5
G zweidimensionales int Array sortieren Java Basics - Anfänger-Themen 55
W Array ausgeben Java Basics - Anfänger-Themen 29
R0m1lly Kombinationen aus int array rekursiv Java Basics - Anfänger-Themen 2
L Datentypen Array List Java Basics - Anfänger-Themen 9
berserkerdq2 Nullpointerexception, obwohl ich Array initialisiere? Java Basics - Anfänger-Themen 1
I Array Länge in Klasse festlegen Java Basics - Anfänger-Themen 1
T getMethode für ein Array Java Basics - Anfänger-Themen 2
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
A Ein Array bearbeiten und in einer anderen Methode nutzen Java Basics - Anfänger-Themen 6
J Multiplikationstabelle mit 10x10 Array Java Basics - Anfänger-Themen 4
O Array mit einem Zeichen vergleichen Java Basics - Anfänger-Themen 1
I 2D-Array Position der Liste ausgeben. Java Basics - Anfänger-Themen 2
Csircc Neuer Array mit geringerer Länge und selben werten. Java Basics - Anfänger-Themen 2
M Ersten Index von Array bestimmen Java Basics - Anfänger-Themen 14
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
J Hinzufügen eines Objektes in ein Objekt-Array Java Basics - Anfänger-Themen 62
jakobfritzz Array- cannot invoke "" because "" is null Java Basics - Anfänger-Themen 4
N 2D Array Summe erstellen Java Basics - Anfänger-Themen 6
L Insertion Sort bei zweidimensionalem Array Java Basics - Anfänger-Themen 7
R Ein Multidimensionales String Array initialisieren und Deklarieren Java Basics - Anfänger-Themen 2
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9
W Array zur Laufzeit bearbeiten? Java Basics - Anfänger-Themen 31
D Array fehlerfindung Java Basics - Anfänger-Themen 11
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
L Zweidimensionaler Array; n x m - Matrix überprüfuen Java Basics - Anfänger-Themen 35
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
M Array rückwärts ausgeben Java Basics - Anfänger-Themen 2
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
D Array mit while-schleife Java Basics - Anfänger-Themen 12
HeiTim Array hilfe Java Basics - Anfänger-Themen 14
I Return Array Java Basics - Anfänger-Themen 4
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
M Einmaleins im 2D Array Java Basics - Anfänger-Themen 2
M Wie kann ich ein Array in zwei Hälften aufteilen? Java Basics - Anfänger-Themen 12
MasterNO substring in array Java Basics - Anfänger-Themen 1
Jose05 Array umsortieren Java Basics - Anfänger-Themen 1
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
S Mit for-Schleife ein 2D JLabel-Array mit veränderbaren Icons erstellen Java Basics - Anfänger-Themen 3
B Array nach Wert prüfen rekursiv Java Basics - Anfänger-Themen 5
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
M Methode - Array mit Booleans füttern Java Basics - Anfänger-Themen 7
M Java Array Java Basics - Anfänger-Themen 8
thor_norsk Array (1-Dimensional) Java Basics - Anfänger-Themen 6
J Fehler bei array aus anderer Klasse Java Basics - Anfänger-Themen 3
I Array einer Methode wiedergeben Java Basics - Anfänger-Themen 2
S Array mit for-Schleife besetzen Java Basics - Anfänger-Themen 7
L Redundanz mit Array vermeiden. Java Basics - Anfänger-Themen 42
H Array wird als Rückgabewert nicht akzeptiert? Java Basics - Anfänger-Themen 2
C Fehlermeldung Array zuweisen und printen Java Basics - Anfänger-Themen 22
B in einem Array den nächstgelegenen Wert zu einem eingabewert finden Java Basics - Anfänger-Themen 8
H Überprüfen ob String Array leer ist Java Basics - Anfänger-Themen 4
S Erklärung zur Methode und array Java Basics - Anfänger-Themen 12
S Primzahlen in Array ausgeben Java Basics - Anfänger-Themen 14
M Hilfe - Array Aufgabe Java Basics - Anfänger-Themen 8
C Matrix mit Array ausgeben Java Basics - Anfänger-Themen 6
L Methode Point[], Array widergeben Java Basics - Anfänger-Themen 5
M Array - Übung Java Basics - Anfänger-Themen 3
districon 2D Array - Länge zuweisen Java Basics - Anfänger-Themen 1
districon 2D Array - Zeilen und Spalten durchsuchen Java Basics - Anfänger-Themen 3
Hamudi Bachir 2D Array eingabe vom Benutzer Java Basics - Anfänger-Themen 31
M Array auf Primzahlen prüfen Java Basics - Anfänger-Themen 7
sashady 2D-Array mit Zahlenmuster füllen Java Basics - Anfänger-Themen 4
t2im Java Array-Länge ändern? Java Basics - Anfänger-Themen 22
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
K Rekursion: Rechenmauer mit Array erstellen Java Basics - Anfänger-Themen 17
G ImageIcon in Byte-Array ablegen Java Basics - Anfänger-Themen 7
sashady ursprüngliche Array-Werte bei erneutem Aufruf? Java Basics - Anfänger-Themen 7
A Array Ansprache einer Zelle über Punktnotation? Java Basics - Anfänger-Themen 3
A Array einlesen und ausgeben Java Basics - Anfänger-Themen 13
AleXusher Mehrdimensionales Array aus txt.file auslesen Java Basics - Anfänger-Themen 4
moiss002 Umgebungsvariable Kein Zugriff auf ein Array Java Basics - Anfänger-Themen 7
B Häufigkeit einzelner Zahlen in einem Array Java Basics - Anfänger-Themen 6
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
nonickatall Input/Output Zeichenkette in Array zerlegen Java Basics - Anfänger-Themen 2
E In Array Werte einfügen? Java Basics - Anfänger-Themen 5
S Wort einlesen Array ausgeben Java Basics - Anfänger-Themen 4
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
OZAN86 Mehrdimensionales Array Java Basics - Anfänger-Themen 4
Yasemin bahar zweidimensionales Array Java Basics - Anfänger-Themen 5
Zeppi Vergleich von Array-Inhalten Java Basics - Anfänger-Themen 14
H Eingegebene Zahlen mit Array ausgeben Java Basics - Anfänger-Themen 18
L ArrayList<String> --> double[] array Java Basics - Anfänger-Themen 18
javaluke Erste Schritte Array nach Datentyp sortieren Java Basics - Anfänger-Themen 16
D Zufällige Auswahl aus einem angelegten Array? Java Basics - Anfänger-Themen 10
Zeppi OOP Array in Objekten Java Basics - Anfänger-Themen 4
K Wie kontrolliere ich ob ich die Zahl in meinem Array schon hab? Java Basics - Anfänger-Themen 9
O 2d Array einmal Eins Java Basics - Anfänger-Themen 2
B Array bei jeder Eingabe um eins erweitern Java Basics - Anfänger-Themen 3
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6

Ähnliche Java Themen


Oben