Verbesserungen, Code anpassung, erste Testläufe, überarbeitung der Funktionen
parent
f311942804
commit
4c19b4c848
|
@ -4,23 +4,31 @@ public class Auto {
|
|||
|
||||
private String kennzeichen;
|
||||
private Date einfahrtZeit;
|
||||
private Date bezahlZeit;
|
||||
private Date ausfahrtZeit;
|
||||
private boolean eAuto;
|
||||
|
||||
public Auto(String kennzeichen, Date einfahrtZeit, Date bezahlZeit, Date ausfahrtZeit, boolean eAuto) {
|
||||
public Auto(String kennzeichen, Date einfahrtZeit) {
|
||||
this.kennzeichen = kennzeichen;
|
||||
this.einfahrtZeit = einfahrtZeit;
|
||||
this.bezahlZeit = bezahlZeit;
|
||||
this.ausfahrtZeit = ausfahrtZeit;
|
||||
this.eAuto = eAuto;
|
||||
}
|
||||
|
||||
public String getKennzeichen() {return kennzeichen;}
|
||||
public Date getEinfahrtZeit() {return einfahrtZeit;}
|
||||
public Date getBezahlZeit() {return bezahlZeit;}
|
||||
public Date getAusfahrtZeit() {return ausfahrtZeit;}
|
||||
public boolean getEAuto() {return eAuto;}
|
||||
public String getKennzeichen() {
|
||||
return kennzeichen;
|
||||
}
|
||||
|
||||
public Date getEinfahrtZeit() {
|
||||
return einfahrtZeit;
|
||||
}
|
||||
|
||||
public Date getAusfahrtZeit() {
|
||||
return ausfahrtZeit;
|
||||
}
|
||||
|
||||
public boolean getEAuto() {
|
||||
return eAuto;
|
||||
}
|
||||
|
||||
public void setKennzeichen(String kennzeichen) {
|
||||
this.kennzeichen = kennzeichen;
|
||||
|
@ -30,10 +38,6 @@ public class Auto {
|
|||
this.einfahrtZeit = einfahrtZeit;
|
||||
}
|
||||
|
||||
public void setBezahlZeit(Date bezahlZeit) {
|
||||
this.bezahlZeit = bezahlZeit;
|
||||
}
|
||||
|
||||
public void setAusfahrtZeit(Date ausfahrtZeit) {
|
||||
this.ausfahrtZeit = ausfahrtZeit;
|
||||
}
|
||||
|
@ -41,4 +45,10 @@ public class Auto {
|
|||
public void setEAuto(boolean eAuto) {
|
||||
this.eAuto = eAuto;
|
||||
}
|
||||
|
||||
|
||||
private boolean iseAuto() {
|
||||
String letztesSymbol = kennzeichen.charAt(kennzeichen.length() - 1) + "";
|
||||
return (letztesSymbol.equals("E") || letztesSymbol.equals("e"));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,2 +1,32 @@
|
|||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Scanner;
|
||||
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) throws ParseException {
|
||||
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();
|
||||
|
||||
|
||||
System.out.println(parkhaus.berechneParkKosten(auto));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class Parkhaus {
|
||||
private double maxNachtPreis;
|
||||
private double preis;
|
||||
private double maxTagesPreis;
|
||||
private int maxParkPlatz;
|
||||
private Auto[] parkendeAutos;
|
||||
private int anzahlParkendeAutos;
|
||||
private List<Auto> autos;
|
||||
|
||||
public double getMaxNachtPreis() {
|
||||
return maxNachtPreis;
|
||||
|
@ -15,55 +16,54 @@ public class Parkhaus {
|
|||
return maxTagesPreis;
|
||||
}
|
||||
|
||||
public int getMaxParkPlatz() {
|
||||
return maxParkPlatz;
|
||||
}
|
||||
|
||||
public Parkhaus(double preis){
|
||||
public Parkhaus(double preis) {
|
||||
this.preis = 1.0;
|
||||
this.maxNachtPreis = 5;
|
||||
this.maxTagesPreis = 15;
|
||||
this.maxParkPlatz = 100;
|
||||
this.parkendeAutos = new Auto[maxParkPlatz];
|
||||
this.anzahlParkendeAutos = 0;
|
||||
this.autos = new ArrayList<Auto>();
|
||||
}
|
||||
|
||||
public double getPreis() {return preis;}
|
||||
public void addAuto(Auto auto) {
|
||||
autos.add(auto);
|
||||
}
|
||||
|
||||
public double getPreis() {
|
||||
return preis;
|
||||
}
|
||||
|
||||
public void setPreis(double preis) {
|
||||
this.preis = preis;
|
||||
}
|
||||
|
||||
public double berechneParkKosten (Auto auto){
|
||||
public double berechneParkKosten(Auto auto) {
|
||||
Date einfahrtZeit = auto.getEinfahrtZeit();
|
||||
Date ausfahrtZeit = auto.getAusfahrtZeit();
|
||||
int einFahrtStunde = auto.getEinfahrtZeit().getHours();
|
||||
int ausFahrtStunde = auto.getAusfahrtZeit().getHours();
|
||||
long parkDauerMinuten = (auto.getAusfahrtZeit().getTime() - auto.getEinfahrtZeit().getTime());
|
||||
double kosten = 0;
|
||||
|
||||
double kosten;
|
||||
|
||||
long parkDauerMinuten = (auto.getBezahlZeit().getTime()-auto.getEinfahrtZeit().getTime());
|
||||
|
||||
if (einFahrtStunde >= 20 && ausFahrtStunde <= 06){
|
||||
kosten = maxNachtPreis;
|
||||
if (einFahrtStunde >= 20 || ausFahrtStunde <= 06) {
|
||||
if (parkDauerMinuten <= 15) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (parkDauerMinuten <= 15){
|
||||
kosten = maxNachtPreis;
|
||||
} else {
|
||||
if (parkDauerMinuten <= 15) {
|
||||
return 0;
|
||||
}
|
||||
parkDauerMinuten -= 15;
|
||||
long parkDauerStunden = (parkDauerMinuten/60)+1;
|
||||
kosten = parkDauerStunden*preis;
|
||||
long parkDauerStunden = (parkDauerMinuten / 60) + 1;
|
||||
kosten = parkDauerStunden * preis;
|
||||
|
||||
if (parkDauerStunden > 24){
|
||||
kosten = maxTagesPreis*parkDauerStunden/24;
|
||||
if (parkDauerStunden > 24) {
|
||||
kosten = maxTagesPreis;
|
||||
}
|
||||
|
||||
if (auto.getEAuto() == true){
|
||||
kosten*=0.8;
|
||||
}
|
||||
|
||||
if (auto.getEAuto()) {
|
||||
kosten *= 0.8;
|
||||
}
|
||||
return kosten;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue