Verbesserungen, Code anpassung sowie erstes Gerüst zur implementierung der Schulden, des ausfahrens ohne zu zahlen und der bezahl option
parent
4c19b4c848
commit
428a16efde
|
@ -5,13 +5,16 @@ public class Auto {
|
|||
private String kennzeichen;
|
||||
private Date einfahrtZeit;
|
||||
private Date ausfahrtZeit;
|
||||
private Date bezahlZeit;
|
||||
private boolean eAuto;
|
||||
private double schulden;
|
||||
|
||||
public Auto(String kennzeichen, Date einfahrtZeit) {
|
||||
this.kennzeichen = kennzeichen;
|
||||
this.einfahrtZeit = einfahrtZeit;
|
||||
this.ausfahrtZeit = ausfahrtZeit;
|
||||
this.eAuto = eAuto;
|
||||
this.eAuto = iseAuto();
|
||||
this.schulden = 0;
|
||||
}
|
||||
|
||||
public String getKennzeichen() {
|
||||
|
@ -22,6 +25,10 @@ public class Auto {
|
|||
return einfahrtZeit;
|
||||
}
|
||||
|
||||
public Date getBezahlZeit() {
|
||||
return bezahlZeit;
|
||||
}
|
||||
|
||||
public Date getAusfahrtZeit() {
|
||||
return ausfahrtZeit;
|
||||
}
|
||||
|
@ -30,6 +37,10 @@ public class Auto {
|
|||
return eAuto;
|
||||
}
|
||||
|
||||
public double getSchulden() {
|
||||
return schulden;
|
||||
}
|
||||
|
||||
public void setKennzeichen(String kennzeichen) {
|
||||
this.kennzeichen = kennzeichen;
|
||||
}
|
||||
|
@ -42,10 +53,21 @@ public class Auto {
|
|||
this.ausfahrtZeit = ausfahrtZeit;
|
||||
}
|
||||
|
||||
public void setBezahlZeit(Date bezahlZeit) {
|
||||
this.bezahlZeit = bezahlZeit;
|
||||
}
|
||||
|
||||
public void setEAuto(boolean eAuto) {
|
||||
this.eAuto = eAuto;
|
||||
}
|
||||
|
||||
public void setSchulden(double schulden) {
|
||||
this.schulden = schulden;
|
||||
}
|
||||
|
||||
public void addSchulden(double betrag) {
|
||||
this.schulden += betrag;
|
||||
}
|
||||
|
||||
private boolean iseAuto() {
|
||||
String letztesSymbol = kennzeichen.charAt(kennzeichen.length() - 1) + "";
|
||||
|
|
|
@ -9,24 +9,73 @@ public class Main {
|
|||
Scanner sc = new Scanner(System.in);
|
||||
Parkhaus parkhaus = new Parkhaus(1.0);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm");
|
||||
System.out.println("Willkommen im Parkhaus der Hochschule Mannheim");
|
||||
System.out.println("Bitte geben Sie ihr Kennzeichen ein:");
|
||||
String kennzeichenEinfahrt = sc.nextLine();
|
||||
System.out.println("Wann sind Sie in das Parkhaus eingefahren. Bitte im Format TT.MM.JJJJ SS:MM");
|
||||
String einfahrtEingabe = sc.nextLine();
|
||||
Date einfahrtZeit = sdf.parse(einfahrtEingabe);
|
||||
Auto auto = new Auto(kennzeichenEinfahrt, einfahrtZeit);
|
||||
System.out.println("");
|
||||
System.out.println("");
|
||||
System.out.println("");
|
||||
System.out.println("");
|
||||
System.out.println("");
|
||||
System.out.println("");
|
||||
|
||||
System.out.println("Bitte geben Sie das Kennzeichen des Fahrzeugs ein, welches ausfahren soll :");
|
||||
String kennzeichenAusfahrt = sc.nextLine();
|
||||
while (true) {
|
||||
|
||||
|
||||
System.out.println(parkhaus.berechneParkKosten(auto));
|
||||
System.out.println("Willkommen im Parkhaus der Hochschule Mannheim");
|
||||
System.out.println("Wollen Sie ");
|
||||
System.out.println("1. Ins Parkhaus einfahren");
|
||||
System.out.println("2. Aus dem Parkhaus ausfahren");
|
||||
System.out.println("3. Bezahlen und ausfahren");
|
||||
System.out.println("4. Beenden");
|
||||
int auswahl = sc.nextInt();
|
||||
|
||||
if (auswahl == 4) {
|
||||
System.out.println("Das Programm wird nun beendet.");
|
||||
System.out.println("Wir wünschen Ihnen noch einen schönen Tag");
|
||||
}
|
||||
|
||||
|
||||
switch (auswahl) {
|
||||
|
||||
case 1:
|
||||
System.out.println("Bitte geben Sie ihr Kennzeichen ein:");
|
||||
String kennzeichenEinfahrt = sc.nextLine();
|
||||
System.out.println("Wann sind Sie in das Parkhaus eingefahren. Bitte im Format TT.MM.JJJJ SS:MM");
|
||||
String einfahrtEingabe = sc.nextLine();
|
||||
Date einfahrtZeit = sdf.parse(einfahrtEingabe);
|
||||
Auto auto = new Auto(kennzeichenEinfahrt, einfahrtZeit);
|
||||
parkhaus.addAuto(auto);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
System.out.println("Bitte geben Sie das Kennzeichen des Fahrzeugs ein, welches ausfahren soll :");
|
||||
String kennzeichenAusfahrt = sc.nextLine();
|
||||
auto = parkhaus.autoFinden(kennzeichenAusfahrt);
|
||||
if(auto == null ){
|
||||
System.out.println("Keine Auto gefunden mit diesem Kennzeichen gefunden.");
|
||||
}
|
||||
else {
|
||||
System.out.println("Zu welcher Uhrzeit wurde ausgefahren? :");
|
||||
String ausfahrtEingabe = sc.nextLine();
|
||||
Date ausfahrtZeit = sdf.parse(ausfahrtEingabe);
|
||||
parkhaus.berechneParkKosten(auto);
|
||||
parkhaus.ausfahrt(auto , ausfahrtZeit);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
System.out.println("Für welches Kennzeichen sollen die Parkgebühren bezahlt werden");
|
||||
String kennzeichenBezahlt = sc.nextLine();
|
||||
auto = parkhaus.autoFinden(kennzeichenBezahlt);
|
||||
if(auto == null ){
|
||||
System.out.println("Keine Auto gefunden mit diesem Kennzeichen gefunden.");
|
||||
}
|
||||
else {
|
||||
System.out.println("Was ist die aktuelle Uhrzeit zu der Sie bezahlen");
|
||||
String bezahltEingabe = sc.nextLine();
|
||||
Date bezahltZeit = sdf.parse(bezahltEingabe);
|
||||
System.out.println(parkhaus.berechneParkKosten(auto));
|
||||
parkhaus.ausfahrt(auto , bezahltZeit);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
System.out.println("Falsche Eingabe bitte nur 1,2 oder 3 eingeben");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,26 +6,24 @@ public class Parkhaus {
|
|||
private double maxNachtPreis;
|
||||
private double preis;
|
||||
private double maxTagesPreis;
|
||||
private int maxPlatz;
|
||||
private int platz;
|
||||
private List<Auto> autos;
|
||||
|
||||
public double getMaxNachtPreis() {
|
||||
return maxNachtPreis;
|
||||
}
|
||||
|
||||
public int getPlatz() {
|
||||
return platz;
|
||||
}
|
||||
|
||||
public double getMaxTagesPreis() {
|
||||
return maxTagesPreis;
|
||||
}
|
||||
|
||||
|
||||
public Parkhaus(double preis) {
|
||||
this.preis = 1.0;
|
||||
this.maxNachtPreis = 5;
|
||||
this.maxTagesPreis = 15;
|
||||
this.autos = new ArrayList<Auto>();
|
||||
}
|
||||
|
||||
public void addAuto(Auto auto) {
|
||||
autos.add(auto);
|
||||
public int getMaxPlatz() {
|
||||
return maxPlatz;
|
||||
}
|
||||
|
||||
public double getPreis() {
|
||||
|
@ -36,6 +34,51 @@ public class Parkhaus {
|
|||
this.preis = preis;
|
||||
}
|
||||
|
||||
public void setMaxPlatz(int maxPlatz) {
|
||||
this.maxPlatz = maxPlatz;
|
||||
}
|
||||
|
||||
public void setPlatz(int platz) {
|
||||
this.platz = platz;
|
||||
}
|
||||
|
||||
public Parkhaus(double preis) {
|
||||
this.preis = 1.0;
|
||||
this.maxPlatz = 180;
|
||||
this.platz = maxPlatz;
|
||||
this.maxNachtPreis = 5;
|
||||
this.maxTagesPreis = 15;
|
||||
this.autos = new ArrayList<Auto>();
|
||||
}
|
||||
|
||||
public void addAuto(Auto auto) {
|
||||
autos.add(auto);
|
||||
platz -= 1;
|
||||
}
|
||||
|
||||
public Auto autoFinden(String kennzeichen) {
|
||||
for (Auto auto : autos) {
|
||||
if (auto.getKennzeichen().equals(kennzeichen)) {
|
||||
return auto;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void ausfahrt(String kennzeichen, Date ausfahrtZeit) {
|
||||
Auto auto = autoFinden(kennzeichen);
|
||||
if (auto == null) {
|
||||
System.out.println("Das Auto mit dem eingegebenen Kennzeichen " + kennzeichen + " wurde nicht gefunden!");
|
||||
return;
|
||||
}
|
||||
auto.setAusfahrtZeit(ausfahrtZeit);
|
||||
double kosten = berechneParkKosten(auto);
|
||||
System.out.println("Die Koste für das Fahrzeug mit dem eingegebenen Kennzeichen " + kennzeichen + "betragen:");
|
||||
System.out.println(kosten);
|
||||
autos.remove(auto);
|
||||
platz += 1;
|
||||
}
|
||||
|
||||
public double berechneParkKosten(Auto auto) {
|
||||
Date einfahrtZeit = auto.getEinfahrtZeit();
|
||||
Date ausfahrtZeit = auto.getAusfahrtZeit();
|
||||
|
|
Loading…
Reference in New Issue