überarbeitung nach testat
parent
9ca10f362e
commit
fd7f05e9f1
|
@ -8,6 +8,7 @@ import java.util.ArrayList;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
import static org.example.domain.*;
|
||||||
import static org.example.optionen.ausfahren.rausfahren;
|
import static org.example.optionen.ausfahren.rausfahren;
|
||||||
import static org.example.optionen.bezahlen.ticketbezahlen;
|
import static org.example.optionen.bezahlen.ticketbezahlen;
|
||||||
import static org.example.optionen.einfahren.farzeugfährtein;
|
import static org.example.optionen.einfahren.farzeugfährtein;
|
||||||
|
@ -15,13 +16,7 @@ import static org.example.optionen.informationen.invouberlale;
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
|
|
||||||
//sachen die ich brauche
|
//sachen die ich brauch
|
||||||
public static final Scanner scanner = new Scanner(System.in);
|
|
||||||
|
|
||||||
public static final Random rand = new Random();
|
|
||||||
public static final SimpleDateFormat timeformat = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
|
||||||
public static ArrayList<parkticket> tiketliste=new ArrayList<>();
|
|
||||||
public static ArrayList<parkticket> unbezahlteticketliste=new ArrayList<>();
|
|
||||||
|
|
||||||
public static void main(String[] args) throws ParseException {
|
public static void main(String[] args) throws ParseException {
|
||||||
|
|
||||||
|
@ -29,24 +24,14 @@ public class Main {
|
||||||
while (true){
|
while (true){
|
||||||
//auswahl
|
//auswahl
|
||||||
System.out.println(" Willkommen im Parkhaus");
|
System.out.println(" Willkommen im Parkhaus");
|
||||||
System.out.println(" 1: Einfahren ("+(180-tiketliste.size())+" Freie Plätze)");
|
System.out.println(" 1: Einfahren ("+(180-getTiketliste().size())+" Freie Plätze)");
|
||||||
System.out.println(" 2: Parkgebühren Bezahlen");
|
System.out.println(" 2: Parkgebühren Bezahlen");
|
||||||
System.out.println(" 3: Ausfahren");
|
System.out.println(" 3: Ausfahren");
|
||||||
System.out.println(" 4: Informationen");
|
System.out.println(" 4: Informationen");
|
||||||
System.out.println(" B: Beenden");
|
System.out.println(" B: Beenden");
|
||||||
|
|
||||||
String input=scanner.nextLine();
|
String input=getScanner().nextLine();
|
||||||
switch (input){
|
domainn(input);
|
||||||
case "1" -> farzeugfährtein();
|
|
||||||
case "2" -> ticketbezahlen();
|
|
||||||
case "3" -> rausfahren();
|
|
||||||
case "4" -> invouberlale();
|
|
||||||
case "B" -> {
|
|
||||||
System.out.println("Hoffe es wahren keine weiteren tickets offen");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
default -> System.out.println("Falsche eingabe");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
package org.example;
|
||||||
|
|
||||||
|
import org.example.ticketobjekt.parkticket;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
import static org.example.optionen.ausfahren.rausfahren;
|
||||||
|
import static org.example.optionen.bezahlen.ticketbezahlen;
|
||||||
|
import static org.example.optionen.einfahren.farzeugfährtein;
|
||||||
|
import static org.example.optionen.informationen.invouberlale;
|
||||||
|
|
||||||
|
public class domain {
|
||||||
|
|
||||||
|
private static final Scanner scanner = new Scanner(System.in);
|
||||||
|
|
||||||
|
private static final Random rand = new Random();
|
||||||
|
private static final SimpleDateFormat timeformat = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
||||||
|
private static ArrayList<parkticket> tiketliste=new ArrayList<>();
|
||||||
|
private static ArrayList<parkticket> unbezahlteticketliste=new ArrayList<>();
|
||||||
|
|
||||||
|
public static void domainn(String input) throws ParseException {
|
||||||
|
switch (input){
|
||||||
|
case "1" -> farzeugfährtein();
|
||||||
|
case "2" -> ticketbezahlen();
|
||||||
|
case "3" -> rausfahren();
|
||||||
|
case "4" -> invouberlale();
|
||||||
|
case "B" -> {
|
||||||
|
System.out.println("Hoffe es wahren keine weiteren tickets offen");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
default -> System.out.println("Falsche eingabe");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ArrayList<parkticket> getTiketliste() {
|
||||||
|
return tiketliste;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ArrayList<parkticket> getUnbezahlteticketliste() {
|
||||||
|
return unbezahlteticketliste;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Random getRand() {
|
||||||
|
return rand;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Scanner getScanner() {
|
||||||
|
return scanner;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SimpleDateFormat getTimeformat() {
|
||||||
|
return timeformat;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,31 +1,23 @@
|
||||||
package org.example.optionen;
|
package org.example.optionen;
|
||||||
|
|
||||||
|
import org.example.domain;
|
||||||
import org.example.ticketobjekt.parkticket;
|
import org.example.ticketobjekt.parkticket;
|
||||||
|
|
||||||
import static org.example.Main.*;
|
import static org.example.Main.*;
|
||||||
|
import static org.example.domain.*;
|
||||||
|
|
||||||
public class ausfahren {
|
public class ausfahren {
|
||||||
|
|
||||||
public static void rausfahren(){
|
public static void rausfahren(){
|
||||||
|
|
||||||
System.out.println("Bitte wählen sie ihr kenzeichen:");
|
System.out.println("Bitte wählen sie ihr kenzeichen:");
|
||||||
for (parkticket p : tiketliste) System.out.println((tiketliste.indexOf(p)+1)+": "+p.getNummerschild());
|
for (parkticket p : getTiketliste()) System.out.println((getTiketliste().indexOf(p)+1)+": "+p.getNummerschild());
|
||||||
int ticket=scanner.nextInt()-1;
|
int ticket=getScanner().nextInt()-1;
|
||||||
parkticket p = tiketliste.get(ticket);
|
parkticket p = getTiketliste().get(ticket);
|
||||||
|
|
||||||
System.out.println("Sind sie sicher das sie jetzt rausfahren wollen? Wenn sie ihr tiket nicht bezahlen wird das Konsequenesn habnen (y/n)");
|
System.out.println("Schande über sie, wenn sie zurückkommen wird das teuer!");
|
||||||
String yn=scanner.nextLine();
|
getTiketliste().remove(p);
|
||||||
|
getUnbezahlteticketliste().add(p);
|
||||||
switch (yn){
|
|
||||||
case "y":
|
|
||||||
System.out.println("Schande über sie, wenn sie zurückkommen wird das teuer!");
|
|
||||||
tiketliste.remove(p);
|
|
||||||
unbezahlteticketliste.add(p);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
System.out.println("Gute entscheidung");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,21 +6,23 @@ import java.sql.Time;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
import static org.example.Main.*;
|
import static org.example.Main.*;
|
||||||
|
import static org.example.domain.*;
|
||||||
|
|
||||||
public class bezahlen {
|
public class bezahlen {
|
||||||
|
|
||||||
public static void ticketbezahlen() throws ParseException {
|
public static void ticketbezahlen() throws ParseException {
|
||||||
|
|
||||||
System.out.println("Bitte wählen sie ihr kenzeichen:");
|
System.out.println("Bitte wählen sie ihr kenzeichen:");
|
||||||
for (parkticket p : tiketliste) System.out.println((tiketliste.indexOf(p)+1)+": "+p.getNummerschild());
|
for (parkticket p : getTiketliste()) System.out.println((getTiketliste().indexOf(p)+1)+": "+p.getNummerschild());
|
||||||
int ticket=scanner.nextInt()-1;
|
int ticket=getScanner().nextInt()-1;
|
||||||
parkticket p = tiketliste.get(ticket);
|
parkticket p = getTiketliste().get(ticket);
|
||||||
|
|
||||||
System.out.println("Sie haben "+p.getNummerschild()+" ausgewählt, bitte geben sie die ausfahrzeit ein (lehr für jetzt) (dd.MM.yyyy, HH:mm)");
|
System.out.println("Sie haben "+p.getNummerschild()+" ausgewählt, bitte geben sie die ausfahrzeit ein (lehr für jetzt) (dd.MM.yyyy, HH:mm)");
|
||||||
String zeitstempelEingabe=scanner.nextLine();
|
String zeitstempelEingabe=new Scanner(System.in).nextLine();
|
||||||
Date ausfartzeit = zeitstempelEingabe.isEmpty() ? new Date() : timeformat.parse(zeitstempelEingabe);
|
Date ausfartzeit = zeitstempelEingabe.isEmpty() ? new Date() : getTimeformat().parse(zeitstempelEingabe);
|
||||||
double gebuhren=gebühren(p.getEinfahtzeit(),ausfartzeit);
|
double gebuhren=gebühren(p.getEinfahtzeit(),ausfartzeit);
|
||||||
|
|
||||||
//nachgabe
|
//nachgabe
|
||||||
|
@ -29,17 +31,17 @@ public class bezahlen {
|
||||||
//gratis
|
//gratis
|
||||||
if(gebuhren<1){
|
if(gebuhren<1){
|
||||||
System.out.println("Sie dürfen gratis rausfahren, viel spaß!");
|
System.out.println("Sie dürfen gratis rausfahren, viel spaß!");
|
||||||
tiketliste.remove(p);
|
getTiketliste().remove(p);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("Parkgebühren: " + gebuhren + " Euro");
|
System.out.println("Parkgebühren: " + gebuhren + " Euro");
|
||||||
System.out.print("Kreditkartennummer (16-stellige VISA): ");
|
System.out.print("Kreditkartennummer (16-stellige VISA): ");
|
||||||
String kreditkarte = scanner.nextLine();
|
String kreditkarte = new Scanner(System.in).nextLine();
|
||||||
|
|
||||||
if (kreditkarte.matches("\\d{16}") && istVisaGueltig(kreditkarte)) {
|
if (kreditkarte.matches("\\d{16}") && istVisaGueltig(kreditkarte)) {
|
||||||
System.out.println("Zahlung erfolgreich, sie dürfen rausfahren, viel spaß!");
|
System.out.println("Zahlung erfolgreich, sie dürfen rausfahren, viel spaß!");
|
||||||
tiketliste.remove(p);
|
getTiketliste().remove(p);
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Ungültige Kreditkarte. Zahlung fehlgeschlagen.");
|
System.out.println("Ungültige Kreditkarte. Zahlung fehlgeschlagen.");
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import java.text.ParseException;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import static org.example.Main.*;
|
import static org.example.Main.*;
|
||||||
|
import static org.example.domain.*;
|
||||||
|
|
||||||
public class einfahren {
|
public class einfahren {
|
||||||
|
|
||||||
|
@ -13,32 +14,32 @@ public class einfahren {
|
||||||
public static void farzeugfährtein() throws ParseException {
|
public static void farzeugfährtein() throws ParseException {
|
||||||
|
|
||||||
//wenn voll dann voll
|
//wenn voll dann voll
|
||||||
if(tiketliste.size()>180)return;
|
if(getTiketliste().size()>180)return;
|
||||||
|
|
||||||
//get kennzeichen
|
//get kennzeichen
|
||||||
System.out.println("Bitte geben sie ihr kenzeichen ein (leer für zufälliges Kenzeichen)");
|
System.out.println("Bitte geben sie ihr kenzeichen ein (leer für zufälliges Kenzeichen)");
|
||||||
String kenzeichen=scanner.nextLine();
|
String kenzeichen=getScanner().nextLine();
|
||||||
|
|
||||||
String kennzeichen = kenzeichen.isEmpty()
|
String kennzeichen = kenzeichen.isEmpty()
|
||||||
? rand.nextBoolean()
|
? getRand().nextBoolean()
|
||||||
? randombuchstabe()+randombuchstabe() + "-" + randombuchstabe()+randombuchstabe() + " " + (rand.nextInt(9000) + 1000)+"E"
|
? randombuchstabe()+randombuchstabe() + "-" + randombuchstabe()+randombuchstabe() + " " + (getRand().nextInt(9000) + 1000)+"E"
|
||||||
: randombuchstabe()+randombuchstabe() + "-" + randombuchstabe()+randombuchstabe() + " " + (rand.nextInt(9000) + 1000)
|
: randombuchstabe()+randombuchstabe() + "-" + randombuchstabe()+randombuchstabe() + " " + (getRand().nextInt(9000) + 1000)
|
||||||
: kenzeichen;
|
: kenzeichen;
|
||||||
|
|
||||||
for (parkticket p : unbezahlteticketliste)if(kenzeichen.equals(p.getNummerschild())){
|
for (parkticket p : getUnbezahlteticketliste())if(kenzeichen.equals(p.getNummerschild())){
|
||||||
System.out.println("Wuste ichs doch das du wieder kommst, das wird tuer!");
|
System.out.println("Wuste ichs doch das du wieder kommst, das wird tuer!");
|
||||||
tiketliste.add(p);
|
getTiketliste().add(p);
|
||||||
unbezahlteticketliste.remove(p);
|
getUnbezahlteticketliste().remove(p);
|
||||||
System.out.println("Auto: "+p.getNummerschild());
|
System.out.println("Auto: "+p.getNummerschild());
|
||||||
System.out.println("Einfahtszeit: "+p.getEinfahtzeit());
|
System.out.println("Einfahtszeit: "+p.getEinfahtzeit());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.print("Bitte geben sie die einfahtszeit ein (dd.MM.yyyy, HH:mm) (leer für aktuelle Zeit): ");
|
System.out.print("Bitte geben sie die einfahtszeit ein (dd.MM.yyyy, HH:mm) (leer für aktuelle Zeit): ");
|
||||||
String zeitstempelEingabe = scanner.nextLine();
|
String zeitstempelEingabe = getScanner().nextLine();
|
||||||
Date einfahrZeit = zeitstempelEingabe.isEmpty() ? new Date() : timeformat.parse(zeitstempelEingabe);
|
Date einfahrZeit = zeitstempelEingabe.isEmpty() ? new Date() : getTimeformat().parse(zeitstempelEingabe);
|
||||||
|
|
||||||
tiketliste.add(new parkticket(kennzeichen,einfahrZeit));
|
getTiketliste().add(new parkticket(kennzeichen,einfahrZeit));
|
||||||
|
|
||||||
System.out.println("Auto: "+kennzeichen);
|
System.out.println("Auto: "+kennzeichen);
|
||||||
System.out.println("Einfahtszeit: "+einfahrZeit);
|
System.out.println("Einfahtszeit: "+einfahrZeit);
|
||||||
|
@ -47,7 +48,7 @@ public class einfahren {
|
||||||
|
|
||||||
public static String randombuchstabe(){
|
public static String randombuchstabe(){
|
||||||
String buchstabe="";
|
String buchstabe="";
|
||||||
buchstabe= String.valueOf((char) (rand.nextInt(26) + 'A'));
|
buchstabe= String.valueOf((char) (getRand().nextInt(26) + 'A'));
|
||||||
return buchstabe;
|
return buchstabe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,17 +2,17 @@ package org.example.optionen;
|
||||||
|
|
||||||
import org.example.ticketobjekt.parkticket;
|
import org.example.ticketobjekt.parkticket;
|
||||||
|
|
||||||
import static org.example.Main.tiketliste;
|
import static org.example.domain.getTiketliste;
|
||||||
import static org.example.Main.unbezahlteticketliste;
|
import static org.example.domain.getUnbezahlteticketliste;
|
||||||
|
|
||||||
public class informationen {
|
public class informationen {
|
||||||
|
|
||||||
public static void invouberlale(){
|
public static void invouberlale(){
|
||||||
|
|
||||||
//just list them all
|
//just list them all
|
||||||
for (parkticket p : tiketliste) System.out.println("Auto: "+p.getNummerschild()+" Einfahtzeit: "+p.getEinfahtzeit());
|
for (parkticket p : getTiketliste()) System.out.println("Auto: "+p.getNummerschild()+" Einfahtzeit: "+p.getEinfahtzeit());
|
||||||
if(!unbezahlteticketliste.isEmpty()) System.out.println("Unbezahlte Ticketes: ");
|
if(!getUnbezahlteticketliste().isEmpty()) System.out.println("Unbezahlte Ticketes: ");
|
||||||
for (parkticket p : unbezahlteticketliste) System.out.println("Auto: "+p.getNummerschild()+" Einfahtzeit: "+p.getEinfahtzeit());
|
for (parkticket p : getUnbezahlteticketliste()) System.out.println("Auto: "+p.getNummerschild()+" Einfahtzeit: "+p.getEinfahtzeit());
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue