Array Objekte erstellen

Jeyjo

Mitglied
Guten Abend, hoffe mir kann schnell jemand weiterhelfen, sollte ziemlich einfach sein bin aber noch ein Laie auf dem Gebiet, habe vor einigen Wochen erst meine Ausbildung begonnen..

Folgendes Problem:

Ich erstelle ein Kosolenprogramm welches ein Menü hat durch dass ich mit mit Eingaben von zB 1 - 4 navigiere:

Java:
import java.io.InputStreamReader;
import java.io.BufferedReader;

public class Menue 
{
 public static void main(String [] args)
 {
 
 Lok[] lokschuppen;
 lokschuppen = new Lok[10];
 
 boolean weiter = true;
 InputStreamReader istream = new InputStreamReader(System.in);
 BufferedReader br = new BufferedReader(istream);

try{
    do{
        System.out.println("(1) Lokomotive erstellen");
        System.out.println("(2) Lokomotive steuern");
        System.out.println("(3) Lokomotive löschen");
        System.out.println("(Q) Programm beenden");
        System.out.println("Bitte Auswahl eingeben: ");
        String line = br.readLine();
        
        if ("Q".equals(line)){
            weiter = false;
        }
        
        if ("1".equals(line)){
        	
        	
        	
        	boolean weiter2 = true;
        	
        	try{
        	    do{
        	       
        	       System.out.println("(1)  Lok 1 erstellen");
        		   System.out.println("(2)  Lok 2 erstellen");
        		   System.out.println("(3)  Lok 3 erstellen");
        		   System.out.println("(4)  Lok 4 erstellen");
        		   System.out.println("(5)  Lok 5 erstellen");
        		   System.out.println("(6)  Lok 6 erstellen");
        		   System.out.println("(7)  Lok 7 erstellen");
        		   System.out.println("(8)  Lok 8 erstellen");
        		   System.out.println("(9)  Lok 9 erstellen");
        		   System.out.println("(10) Lok 10 erstellen");
        		   System.out.println("(Z)  Zurück");
        	       System.out.println("Bitte Auswahl eingeben: ");

        	       String line2;
        	       line2 = br.readLine();
        	       
        	       int position = Integer.parseInt(line2) - 1;
        	       
        	       lokschuppen[position].erzeugeLok();
        	      
        	       
        	       
       			   
       			   if (line2.equals("Z")){
        	    
        	    	weiter2 = false;
       			 
       			 	}
       			 	
       			 	
       			  }while(weiter2);
       		  }catch(Exception e){
   					 e.printStackTrace();
        	         }
		    
		    }
		    
		    if ("2".equals(line)){
		    
		    boolean weiter3 = true;
		    
		    try{
        	    do{
        	       
        	       System.out.println("(1)   Lok 1");
        		   System.out.println("(2)   Lok 2");
        		   System.out.println("(3)   Lok 3");
        		   System.out.println("(4)   Lok 4");
        		   System.out.println("(5)   Lok 5");
        		   System.out.println("(6)   Lok 6");
        		   System.out.println("(7)   Lok 7");
        		   System.out.println("(8)   Lok 8");
        		   System.out.println("(9)   Lok 9");
        		   System.out.println("(10)  Lok 10");
        		   System.out.println("(Z)  Zurück");
        	       System.out.println("Bitte Auswahl eingeben: ");
        	       String line3 = br.readLine();
        	       
        	       if ("1".equals(line3)){
        	    
        	    	lokschuppen[0].getTyp();
        	    	lokschuppen[0].getNummer();
        	    	lokschuppen[0].getAbmessungen();
        	    
        	    	 
        	    	 }
        	       
        	       if ("Z".equals(line3)){
        	    
        	    	weiter3 = false;
       			 
       			 	}
       			 	
       			 	
       			  }while(weiter3);
       		  }catch(Exception e){
   					 e.printStackTrace();
        	         }
		    
		    }
        	    	
		    
        
    }while(weiter);
}catch(Exception e){
   	e.printStackTrace();
}
}
}

Menüpunkt 1 soll ein Array erzeugen (Zehn Plätze), dafür habe ich eine eigene Klasse angelegt:

Um möglichst wenig Fragen zu verursachen Poste ich den vollständigen Code! ;)

Java:
public class Lokschuppen {

 
 
 public void erzeugeLok() {
	
	
    public lokschuppen[position] = new Lok();    	    
        	    
    lokschuppen[position].setTyp();
  	lokschuppen[position].setBaureihe();
    lokschuppen[position].setNummer();
    lokschuppen[position].setLaenge();
    lokschuppen[position].setBreite();
    lokschuppen[position].setHoehe();
    lokschuppen[position].setLeistung();

 
 }
}

Zu guter letzt habe ich noch eine Lok-Klasse für die Objekte die im Array festgehalten werden, damit treten aber keine Probleme auf deshalb brauche ich die nicht zwingend zu posten. Wer sie zur Übersicht halber braucht, sagt bitte bescheid.

In Zeile 56 ist mein Fehler, da ich nicht auf die Methode der Array Klasse Lokschuppen zugreifen kann. Da mir die Ideen ausgegangen sind bitte ich mal um ein paar Vorschläge oder Lösungen. Vielen Dank schonmal!

Jeyjo
 

Jeyjo

Mitglied
Folgende Fehlermeldung:


Code:
Menue.java:56: cannot find symbol
symbol  : method erzeugeLok()
location: class Lok
        	       lokschuppen[position].erzeugeLok();
        	                            ^
1 error
 
M

Marcinek

Gast
Die Klasse in der die Methode drin ist heißt Lokschuppen und das Array ist vom Typ Lok.
 

Jeyjo

Mitglied
Mein Plan ist über die Klasse Lokschuppen die Methode - erzeugeLok(); - auszuführen die dann eine Lok erstellt
 
Zuletzt bearbeitet:
H

Helper

Gast
Na da stecken aber so einige Anfänger-Fehler drin.

Zeile 9-10 : das kann man in einer Zeile schreiben, was man normalerweise auch macht

Zeile 25-27 : ist zwar richtig ein Flag zu setzen damit die Schleife "sauber" beendet, aber hier würde ein break; (oder return wenn es eine eigene Methode wäre) völlig reichen, auch wenn es nicht der beste Stil wäre

Zeile 56 : ist so überhaupt nicht möglich und würde zur Runtime grundsätzlich in einer NullPointer enden, denn "lockschuppen[x]" ist zu diesem Zeitpunkt immer noch "NULL"
außerdem gehört die methode "erzeugeLock()" zur Klasse "Lokschuppen" und nicht zu "Lok"

Und die Klasse "Lokschuppen" lässt sich so gar nicht compilen:

Zeile 8 : gleich 2 Fehler : 1) man kann innerhalb einer Methode keine scope-modifier nutzen > "public" muss weg, und 2) der Typ fehlt

Und "position" gibt es in der Klasse überhaupt garnicht.

Ich empfehle dir mal "Java ist auch eine Insel" durch zu arbeiten, denn dir fehlen die einfachsten Grundlagen.

Zu deiner Frage : "Was muss ich ändern?" > so gut wie fast alles. Außerdem kann man deine vermutlich geplanten IF's anders lösen.
 

Jeyjo

Mitglied
Berechtigte Kritik, aber ich bin erst bei Kapitel 4 von Java von Kopf bis Fuß..

Kanns einfach noch nicht besser :bahnhof:

Zeile 8 : gleich 2 Fehler : 1) man kann innerhalb einer Methode keine scope-modifier nutzen > "public" muss weg, und 2) der Typ fehlt

welcher Typ?
 

Bernd Hohmann

Top Contributor
Ich seh schon Dein Verständnisproblem;

Code:
Lok[] lokschuppen = new Lok[10];

Damit erzeugst Du kein Array, was 10x eine Lok drinhat sondern nur ein Array, was Platz für 10 Loks bietet (es wird also auch nicht der Konstruktor von Lok aufgerufen).

Daher geht das hier...
Code:
lokschuppen[position].erzeugeLok();
... auch in die Hose, weil lokschuppen[x] an dieser Stelle noch NULL ist.

Du müsstest also in etwa sowas bauen:

Code:
Lok[] lokschuppen = new Lok[10];
for (int i=0; i< lokschuppen.length; i++) {
  lokschuppen[i]=new Lok();
}

Deine Klasse "Lokschuppen" hat da nix zu suchen, die müsste "Lok" heissen (und das "public lokschuppen[position] = new Lok();" darin ist dann auch hinfällig).

Bernd
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Objekte in Array erstellen und Methode in verschiedenen klassen aufrufen Java Basics - Anfänger-Themen 5
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
R Objekte aus Array als String + kommasepariert speichern Java Basics - Anfänger-Themen 12
PaperHat Objekte in Array vergleichen Java Basics - Anfänger-Themen 9
J Array Objekte einer Klasse zuordnen Java Basics - Anfänger-Themen 15
Orkanson Objekte in ein Array einfügen Java Basics - Anfänger-Themen 5
K Comparable - Objekte aus Array vergleichen und größtes auswählen Java Basics - Anfänger-Themen 1
S Klassen Objekt- Tabelle / Dynamisches 2Dimensionales Array für Objekte Java Basics - Anfänger-Themen 6
F Objekte in einem Array speichern Java Basics - Anfänger-Themen 1
N Objekte in Array rein Java Basics - Anfänger-Themen 6
B Verschiedene Objekte in 2 dimensionalem Array speichern Java Basics - Anfänger-Themen 10
R Bilder aus Array als anklickbare Objekte Java Basics - Anfänger-Themen 3
F Adressverwaltungsprogramm: Objekte einer Klasse in Array Java Basics - Anfänger-Themen 6
T Objekte in Array verwalten Java Basics - Anfänger-Themen 4
I Objekte in einem Array sortieren Java Basics - Anfänger-Themen 19
B Ausgabe von Array aus Objekte Java Basics - Anfänger-Themen 2
W Objekte in einer Array sortieren Java Basics - Anfänger-Themen 3
T OOP Objekte erzeugen und in einem Array ausgeben. Java Basics - Anfänger-Themen 2
M Zugriff auf Objekte aus doppelten Array Java Basics - Anfänger-Themen 16
P Objekte im Array speichern und auf den Inhalt zugreifen ? Java Basics - Anfänger-Themen 4
I Erstellte Objekte in Array's miteinander vergleichen Java Basics - Anfänger-Themen 11
R Objekte in Array ablegen - Vererbung Java Basics - Anfänger-Themen 5
L Mit Array neue Objekte erzeugen Java Basics - Anfänger-Themen 3
S Point-Objekte in Array einfügen Java Basics - Anfänger-Themen 13
H Objekte in ein array ablegen Java Basics - Anfänger-Themen 7
B Array-objekte,. Es wird ein Fehler ausgegeben Java Basics - Anfänger-Themen 11
J Mehrere Objekte in einem Array Java Basics - Anfänger-Themen 5
walker23m 2 objekte in das array [i] t Java Basics - Anfänger-Themen 2
L Objekte im Array speichern Java Basics - Anfänger-Themen 3
G Array Objekte Klasse Java Basics - Anfänger-Themen 9
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
L Frage zum Array Java Basics - Anfänger-Themen 1
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben