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