Ich muss eine kleine Anzeigetafe ausgeben lassen mit verschiedensten Sängern, Uhrzeiten, einer Saalnummer, ausgebucht (j/n) und ob das Konzert ausgebucht ist (wenn seatsLeft > 0, dann kann man noch Tickets kaufen). Der Kunde muss so lange gefragt werden, welches Konzert er besuchen möchte, bis er ein nicht ausgebuchtes Konzert auswählt oder abbricht ohne ein Ticket zu kaufen.
Am Anfang wird er auch gefragt wie viel Geld er hat, jedes Konzertticket kostet 20 Euro.
Wählte er einen nicht ausgebuchtes Konzert, wird er gefragt, wie viele Tickets er will. Hat er genügend Geld dafür UND sind noch genügend Plätze frei, bekommt er seine Tickets. Dabei werden das Geld was er bezahlt von seinem Geld abgezogen, und die freien Plätze für das jeweilige Konzert weniger.
Das wiederholt sich so lange, bis der Benutzer die Zahl 0 eingibt.
Jeder Kauf eines Nutzers reduziert die Anzahl verfügbarer Plätze für das Konzert entsprechend, und führt (falls keine Plätze mehr übrig sind) im Extremfall auch dazu, dass bei dem Film nun auch „ausgebucht“ steht..
Wenn der Besitzer die Konzert-Daten im Konzert-Array verändert (z.B. ein Konzert hinzufügt oder mehr Plätze in einem Saal zulässt), muss das Programm trotzdem funktionieren!
Ich hab das so irgendwie gemacht, aber da ist die Hälfte der Anforderungen nicht gelöst & bräuchte Hilfe, da ich total der Anfänger bin.
import java.util.ArrayList;
import java.util.Scanner;
public class Konzert {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int TicketsPrice = 15;
int tickets;
int seatsLeft1 = 2;
int seatsLeft2 = 2;
int seatsLeft3 = 0;
System.out.println("Wie viel Geld hast du dabei?");
int money = scanner.nextInt();
System.out.printf("Ich habe %d Euro dabei.", money);
System.out.println("");
String[][] screen = {{"Nr.", " Name ", " Uhrzeit", " Saal ", " Restplaetze"},
{"-----------------------------------------------"},
{"1.", " Sido ", " 20:15", " 1 ", " verfuegbar"},
{"2.", " Taylor Swift ", " 17:00 ", " 3 ", " verfuegbar"},
{"3.", " Selen ", " 22:00 ", " 2 ", " ausgebucht"},
{"------------------------------------------------"}};
for (int i = 0; i < screen.length; i++) {
for (int i1 = 0; i1 < screen.length; i1++) {
System.out.print(screen[i1]);
}
System.out.println();
}
System.out.println("Welchen (nicht ausgebuchten) Film moechtest du sehen? (0 zum abbrechen)");
int movie = scanner.nextInt();
if (movie > 0 && movie <= 3 && (seatsLeft1 + seatsLeft2 + seatsLeft3 > 0)) {
System.out.printf("Es sind noch 2 Tickets um jeweils %d Euro dafuer verfuegbar. Wie viele moechtest du kaufen?", TicketsPrice);
tickets = scanner.nextInt();
if ((money - (tickets * TicketsPrice) > 0)) {
System.out.printf("Du kaufst %d Tickets um %d Euro und hast jetzt noch " + (money - (tickets * TicketsPrice) + " Euro uebrig."), tickets, TicketsPrice, money, TicketsPrice);
}
ArrayList chosen = new ArrayList();
chosen.add(" Taylor Swift");
chosen.add(" Taylor Swift");
System.out.println("");
System.out.printf("Hier sind deine Tickets fuer die Konzerte %s.", chosen);
}
}
}
Am Anfang wird er auch gefragt wie viel Geld er hat, jedes Konzertticket kostet 20 Euro.
Wählte er einen nicht ausgebuchtes Konzert, wird er gefragt, wie viele Tickets er will. Hat er genügend Geld dafür UND sind noch genügend Plätze frei, bekommt er seine Tickets. Dabei werden das Geld was er bezahlt von seinem Geld abgezogen, und die freien Plätze für das jeweilige Konzert weniger.
Das wiederholt sich so lange, bis der Benutzer die Zahl 0 eingibt.
Jeder Kauf eines Nutzers reduziert die Anzahl verfügbarer Plätze für das Konzert entsprechend, und führt (falls keine Plätze mehr übrig sind) im Extremfall auch dazu, dass bei dem Film nun auch „ausgebucht“ steht..
Wenn der Besitzer die Konzert-Daten im Konzert-Array verändert (z.B. ein Konzert hinzufügt oder mehr Plätze in einem Saal zulässt), muss das Programm trotzdem funktionieren!
Ich hab das so irgendwie gemacht, aber da ist die Hälfte der Anforderungen nicht gelöst & bräuchte Hilfe, da ich total der Anfänger bin.
import java.util.ArrayList;
import java.util.Scanner;
public class Konzert {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int TicketsPrice = 15;
int tickets;
int seatsLeft1 = 2;
int seatsLeft2 = 2;
int seatsLeft3 = 0;
System.out.println("Wie viel Geld hast du dabei?");
int money = scanner.nextInt();
System.out.printf("Ich habe %d Euro dabei.", money);
System.out.println("");
String[][] screen = {{"Nr.", " Name ", " Uhrzeit", " Saal ", " Restplaetze"},
{"-----------------------------------------------"},
{"1.", " Sido ", " 20:15", " 1 ", " verfuegbar"},
{"2.", " Taylor Swift ", " 17:00 ", " 3 ", " verfuegbar"},
{"3.", " Selen ", " 22:00 ", " 2 ", " ausgebucht"},
{"------------------------------------------------"}};
for (int i = 0; i < screen.length; i++) {
for (int i1 = 0; i1 < screen.length; i1++) {
System.out.print(screen[i1]);
}
System.out.println();
}
System.out.println("Welchen (nicht ausgebuchten) Film moechtest du sehen? (0 zum abbrechen)");
int movie = scanner.nextInt();
if (movie > 0 && movie <= 3 && (seatsLeft1 + seatsLeft2 + seatsLeft3 > 0)) {
System.out.printf("Es sind noch 2 Tickets um jeweils %d Euro dafuer verfuegbar. Wie viele moechtest du kaufen?", TicketsPrice);
tickets = scanner.nextInt();
if ((money - (tickets * TicketsPrice) > 0)) {
System.out.printf("Du kaufst %d Tickets um %d Euro und hast jetzt noch " + (money - (tickets * TicketsPrice) + " Euro uebrig."), tickets, TicketsPrice, money, TicketsPrice);
}
ArrayList chosen = new ArrayList();
chosen.add(" Taylor Swift");
chosen.add(" Taylor Swift");
System.out.println("");
System.out.printf("Hier sind deine Tickets fuer die Konzerte %s.", chosen);
}
}
}