Hallo,
Ich habe ein Programm geschrieben wo man per Nutzereingabe (Scanner) Objekte erzeugen kann.
Leider kann man immer nur ein Objekt einer Klasse erzeugen, wenn man ein Neues erzeugt wird das Alte mit den neuen Daten überschrieben.
Ich würde aber gerne mehrere Objekte derselben Klasse erzeugen und diese auch in eine Arraylist stellen. Oder wäre es besser ein festdefiniertes Array zu benutzen, also die Objekte vorher zu erstellen und dann vom Nutzer überschreiben zu lassen?
Kann man dies machen? Die einzige Idee, die ich zur Umsetzung habe, wäre eine Schleife, aber ich bin mir nicht sicher wie ich die implementieren kann. Hier mal noch das Interface (ohne die benutzten Klassen:
Ich habe ein Programm geschrieben wo man per Nutzereingabe (Scanner) Objekte erzeugen kann.
Leider kann man immer nur ein Objekt einer Klasse erzeugen, wenn man ein Neues erzeugt wird das Alte mit den neuen Daten überschrieben.
Ich würde aber gerne mehrere Objekte derselben Klasse erzeugen und diese auch in eine Arraylist stellen. Oder wäre es besser ein festdefiniertes Array zu benutzen, also die Objekte vorher zu erstellen und dann vom Nutzer überschreiben zu lassen?
Kann man dies machen? Die einzige Idee, die ich zur Umsetzung habe, wäre eine Schleife, aber ich bin mir nicht sicher wie ich die implementieren kann. Hier mal noch das Interface (ohne die benutzten Klassen:
Java:
import java.util.Scanner;
public class Interface {
Scanner scan = new Scanner (System.in);
public void start()
{
Spieler typ = new Spieler(null, 0, null, 0);
Sprit schnaps = new Sprit(null, 0.7, 1);
Mischgetränke pussy = new Mischgetränke (null, 1);
Mischung drink = new Mischung(null, 0.5, 1);
Bar standart = new Bar();
boolean forever = true;
int wahl;
double ml;
int antwort;
String [] auswahl = {"1 - Spieler erstellen", "2 - Getraenke einkaufen", "3 - Getraenke mischen", "4 - Trinken","5 - Bestand anzeigen", "0 - Nach Hause gehen :("};
for (String index: auswahl)
System.out.println(index);
do
{
System.out.println("\n Was willst du tun?");
antwort = scan.nextInt();
switch(antwort)
{
case 1:
{
System.out.println("Wie heißt du?");
typ.name = scan.next();
System.out.println("Wie alt bist du?");
typ.alter = scan.nextInt();
assert typ.alter >= 18 : "Mach dich ab, du Milchbubi!";
System.out.println("Wie ist dein Trinkverhalten?");
typ.trinkverhalten = scan.next();
System.out.println("Das bist du:");
System.out.println(typ.toString());
break;
}
case 2:
{
System.out.println("Willst du Schnaps(1) oder Mischgetränke(2) einkaufen?");
wahl = scan.nextInt();
switch (wahl)
{
case 1:
{
System.out.println("Welchen Schnaps willst du?");
schnaps.name = scan.nextLine();
schnaps.name = scan.nextLine();
System.out.println("Wieviel Prozent hat dieses Teufelszeug?");
schnaps.prozent = scan.nextDouble();
standart.schnapsKaufen(schnaps);
break;
}
case 2:
{
System.out.println("Welches Mischgetränk willst du?");
pussy.name = scan.nextLine();
pussy.name = scan.nextLine();
standart.mischGetränkeKaufen(pussy);
break;
}
default:
System.out.println("Ungueltige Eingabe!");
break;
}
break;
}
case 3:
{
System.out.println("Wieviel Schnaps willst du benutzen? (Vorsicht, es gibt nur 0,5er Glaeser!)");
schnaps.menge = scan.nextDouble();
schnaps.mischen(schnaps.menge, pussy);
standart.hinzufuegen(drink);
break;
}
case 4:
{
System.out.println("Was willst du trinken? 1 - Schnaps 2 - Alkoholfrei 3 - Mischung");
wahl = scan.nextInt();
switch(wahl)
{
case 1:
{
System.out.println("Welche Menge willst du vernichten?");
ml = scan.nextDouble();
schnaps.trinken(ml, typ);
break;
}
case 2:
{
System.out.println("Wieviel willst du, Kleiner?");
ml = scan.nextDouble();
pussy.trinken(ml);
break;
}
case 3:
{
System.out.println("Welche Menge willst du vernichten?");
ml = scan.nextDouble();
drink.trinken(ml, typ);
break;
}
default:
System.out.println("Ungueltige Eingabe!");
break;
}
}
case 5:
{
System.out.println(typ.toString());
standart.bestand();
break;
}
default :
{
System.exit(0);
}
}
}while (forever = true);
}
}