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 String kennzeichen;
|
||||||
private Date einfahrtZeit;
|
private Date einfahrtZeit;
|
||||||
private Date ausfahrtZeit;
|
private Date ausfahrtZeit;
|
||||||
|
private Date bezahlZeit;
|
||||||
private boolean eAuto;
|
private boolean eAuto;
|
||||||
|
private double schulden;
|
||||||
|
|
||||||
public Auto(String kennzeichen, Date einfahrtZeit) {
|
public Auto(String kennzeichen, Date einfahrtZeit) {
|
||||||
this.kennzeichen = kennzeichen;
|
this.kennzeichen = kennzeichen;
|
||||||
this.einfahrtZeit = einfahrtZeit;
|
this.einfahrtZeit = einfahrtZeit;
|
||||||
this.ausfahrtZeit = ausfahrtZeit;
|
this.ausfahrtZeit = ausfahrtZeit;
|
||||||
this.eAuto = eAuto;
|
this.eAuto = iseAuto();
|
||||||
|
this.schulden = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getKennzeichen() {
|
public String getKennzeichen() {
|
||||||
|
@ -22,6 +25,10 @@ public class Auto {
|
||||||
return einfahrtZeit;
|
return einfahrtZeit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Date getBezahlZeit() {
|
||||||
|
return bezahlZeit;
|
||||||
|
}
|
||||||
|
|
||||||
public Date getAusfahrtZeit() {
|
public Date getAusfahrtZeit() {
|
||||||
return ausfahrtZeit;
|
return ausfahrtZeit;
|
||||||
}
|
}
|
||||||
|
@ -30,6 +37,10 @@ public class Auto {
|
||||||
return eAuto;
|
return eAuto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public double getSchulden() {
|
||||||
|
return schulden;
|
||||||
|
}
|
||||||
|
|
||||||
public void setKennzeichen(String kennzeichen) {
|
public void setKennzeichen(String kennzeichen) {
|
||||||
this.kennzeichen = kennzeichen;
|
this.kennzeichen = kennzeichen;
|
||||||
}
|
}
|
||||||
|
@ -42,10 +53,21 @@ public class Auto {
|
||||||
this.ausfahrtZeit = ausfahrtZeit;
|
this.ausfahrtZeit = ausfahrtZeit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setBezahlZeit(Date bezahlZeit) {
|
||||||
|
this.bezahlZeit = bezahlZeit;
|
||||||
|
}
|
||||||
|
|
||||||
public void setEAuto(boolean eAuto) {
|
public void setEAuto(boolean eAuto) {
|
||||||
this.eAuto = eAuto;
|
this.eAuto = eAuto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setSchulden(double schulden) {
|
||||||
|
this.schulden = schulden;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addSchulden(double betrag) {
|
||||||
|
this.schulden += betrag;
|
||||||
|
}
|
||||||
|
|
||||||
private boolean iseAuto() {
|
private boolean iseAuto() {
|
||||||
String letztesSymbol = kennzeichen.charAt(kennzeichen.length() - 1) + "";
|
String letztesSymbol = kennzeichen.charAt(kennzeichen.length() - 1) + "";
|
||||||
|
|
|
@ -9,24 +9,73 @@ public class Main {
|
||||||
Scanner sc = new Scanner(System.in);
|
Scanner sc = new Scanner(System.in);
|
||||||
Parkhaus parkhaus = new Parkhaus(1.0);
|
Parkhaus parkhaus = new Parkhaus(1.0);
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm");
|
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm");
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
|
||||||
|
|
||||||
System.out.println("Willkommen im Parkhaus der Hochschule Mannheim");
|
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:");
|
System.out.println("Bitte geben Sie ihr Kennzeichen ein:");
|
||||||
String kennzeichenEinfahrt = sc.nextLine();
|
String kennzeichenEinfahrt = sc.nextLine();
|
||||||
System.out.println("Wann sind Sie in das Parkhaus eingefahren. Bitte im Format TT.MM.JJJJ SS:MM");
|
System.out.println("Wann sind Sie in das Parkhaus eingefahren. Bitte im Format TT.MM.JJJJ SS:MM");
|
||||||
String einfahrtEingabe = sc.nextLine();
|
String einfahrtEingabe = sc.nextLine();
|
||||||
Date einfahrtZeit = sdf.parse(einfahrtEingabe);
|
Date einfahrtZeit = sdf.parse(einfahrtEingabe);
|
||||||
Auto auto = new Auto(kennzeichenEinfahrt, einfahrtZeit);
|
Auto auto = new Auto(kennzeichenEinfahrt, einfahrtZeit);
|
||||||
System.out.println("");
|
parkhaus.addAuto(auto);
|
||||||
System.out.println("");
|
break;
|
||||||
System.out.println("");
|
|
||||||
System.out.println("");
|
|
||||||
System.out.println("");
|
|
||||||
System.out.println("");
|
|
||||||
|
|
||||||
|
case 2:
|
||||||
System.out.println("Bitte geben Sie das Kennzeichen des Fahrzeugs ein, welches ausfahren soll :");
|
System.out.println("Bitte geben Sie das Kennzeichen des Fahrzeugs ein, welches ausfahren soll :");
|
||||||
String kennzeichenAusfahrt = sc.nextLine();
|
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));
|
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 maxNachtPreis;
|
||||||
private double preis;
|
private double preis;
|
||||||
private double maxTagesPreis;
|
private double maxTagesPreis;
|
||||||
|
private int maxPlatz;
|
||||||
|
private int platz;
|
||||||
private List<Auto> autos;
|
private List<Auto> autos;
|
||||||
|
|
||||||
public double getMaxNachtPreis() {
|
public double getMaxNachtPreis() {
|
||||||
return maxNachtPreis;
|
return maxNachtPreis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getPlatz() {
|
||||||
|
return platz;
|
||||||
|
}
|
||||||
|
|
||||||
public double getMaxTagesPreis() {
|
public double getMaxTagesPreis() {
|
||||||
return maxTagesPreis;
|
return maxTagesPreis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getMaxPlatz() {
|
||||||
public Parkhaus(double preis) {
|
return maxPlatz;
|
||||||
this.preis = 1.0;
|
|
||||||
this.maxNachtPreis = 5;
|
|
||||||
this.maxTagesPreis = 15;
|
|
||||||
this.autos = new ArrayList<Auto>();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addAuto(Auto auto) {
|
|
||||||
autos.add(auto);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getPreis() {
|
public double getPreis() {
|
||||||
|
@ -36,6 +34,51 @@ public class Parkhaus {
|
||||||
this.preis = preis;
|
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) {
|
public double berechneParkKosten(Auto auto) {
|
||||||
Date einfahrtZeit = auto.getEinfahrtZeit();
|
Date einfahrtZeit = auto.getEinfahrtZeit();
|
||||||
Date ausfahrtZeit = auto.getAusfahrtZeit();
|
Date ausfahrtZeit = auto.getAusfahrtZeit();
|
||||||
|
|
Loading…
Reference in New Issue