Inhalt eines Vektors ausgeben

  • Themenstarter Themenstarter s4nct0
  • Beginndatum Beginndatum
S

s4nct0

Gast
Hallo Zusammen, ich habe ein kleines Problem bei einem Programm von mir. Ich schreibe als Projekt eine kleine Autoverwaltung und es ist mein erster "zusammenstoß" mit einer Programmiersprache.
So ich habe mir ein kleines Hauptmenü geschrieben in welchem sich ein switch Konstrukt befindet. so in diesem Konstrukt sollen Autos angelegt werden können:

Java:
System.out.println("Bitte Auto anlegen");
					Vector<Fahrzeug> Autos = new Vector();
					
					int anzahlIterationen = 0 ; 
					
					System.out.println("Wieviele Autos anlegen?");
					Scanner s = new Scanner(System.in);
					anzahlIterationen = s.nextInt(); 
					
					for (int i=0;i<anzahlIterationen;i++) {
						Fahrzeug einAuto= new Fahrzeug();
						Scanner scanner = new Scanner(System.in);
						System.out.println("Bitte Bezeichnung eingeben:");
						 
						einAuto.Bezeichnung = scanner.nextLine(); 
						System.out.println("Bitte den Kilometerstand eingeben:");
						einAuto.KMStand = scanner.nextInt();
						System.out.println("Bitte die Anzahl der Türen eingeben:");
						einAuto.Türen = scanner.nextInt ();
						System.out.println ("Bitte Farbton angeben:");
						
						scanner = new Scanner(System.in);
						einAuto.Farbe = scanner.nextLine();
						System.out.println("Bitte PS eingeben:");
						einAuto.Leistung = scanner.nextInt();
						System.out.println("Ist das Auto verfügbar? true/false");
						einAuto.istVerfügbar = scanner.nextBoolean();
						
						Autos.add(einAuto);

So weitere Punkte sollen nun sein 1. alle Autos anzeigen die sich in dem Vektor befinden(nach möglichkeit mit ihrer Bezeichnung und ihren Werten) und 2. Ein bestimmtes Auto zu finden.
Wobei der 2. Punkt ersteinmal sekundär ist.
Und genau da ist mein Problem ich komme da auf kein grünen Zweig geschweigedenn zu einer Lösung wäre sehr nett wenn ihr mir da helfen könntet.
 
Vector ist veraltet. Ich würde eine ArrayList nehmen:

Java:
List<Fahrzeug> autos = new ArrayList<Fahrzeug>();
- Variablennamen schreibt man klein
- Dem Konstruktor auch den Typ übergeben, damit die Typsicherheit erhalten bleibt
- List-Interface verwenden

Für die Ausgabe aller Autos musst du über alle Elemente der Liste iterieren. Z.B. so:

Java:
for (Auto a : autos) {
  System.out.println(a.getBezeichnung());
  // ...
}
Greife nicht direkt auf die Felder zu (a.bezeichnung) sondern mach es über Getter und Setter. Damit bleibt das Geheimnisprinzip gewahrt.

Wenn du die Liste durchsuchen willst nach einem bestimmten Auto kannst du ähnlich vorgehen. Angenommen, du willst nach einer Bezeichnung suchen:

Java:
for (Auto a : autos) {
  if (a.getBezeichnung().equals(suchString) {
    System.out.println(a.getBezeichnung());
    // ...
  }
}
 
für 1 könntest du auch in der Klasse Fahrzeug die toString Methode überschreiben, mit einer foreach über dein vektor iterieren und jedes fahrzeug ausgeben:
for (Fahrzeug f : deinVektor)
System.out.println(f.toString());
 

Neue Themen


Zurück
Oben