Verbesserungen

main
3009594 2024-10-08 17:12:34 +02:00
parent 617e255ea5
commit fcaf11ae0c
13 changed files with 51 additions and 31 deletions

View File

@ -3,6 +3,8 @@ package Parkhaus;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import Parkhaus.domain.AutoNichtGefundenException;
public class Main {
public static void main(String[] args) throws ParseException, AutoNichtGefundenException, Exception {

View File

@ -2,6 +2,7 @@ package Parkhaus;
import java.text.ParseException;
import java.util.Scanner;
import Parkhaus.domain.*;
public class TextUI {
private Parkhaus system;

View File

@ -1,4 +1,4 @@
package Parkhaus;
package Parkhaus.domain;
public class AutoNichtGefundenException extends Exception {

View File

@ -1,4 +1,4 @@
package Parkhaus;
package Parkhaus.domain;
import java.text.SimpleDateFormat;
import java.util.Date;

View File

@ -1,4 +1,4 @@
package Parkhaus;
package Parkhaus.domain.JTests;
import static org.junit.jupiter.api.Assertions.*;
@ -7,6 +7,8 @@ import java.text.SimpleDateFormat;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import Parkhaus.domain.Parkhaus;
class Allgemeine_Test {
private Parkhaus system;

View File

@ -1,4 +1,4 @@
package Parkhaus;
package Parkhaus.domain.JTests;
import static org.junit.jupiter.api.Assertions.*;
@ -8,6 +8,8 @@ import java.text.SimpleDateFormat;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import Parkhaus.domain.Parkhaus;
class JTest_AutoMitSchulden {
private Parkhaus parkhaus;
@ -23,7 +25,7 @@ class JTest_AutoMitSchulden {
@Test
public void test_AutoMitSchulden() throws Exception {
String kennzeichen = "MA-SH 4077";
String kennzeichen = "MA-SH 4077E";
String einfahrt = "01.10.2024, 12:30";
String ausfahrt = "01.10.2024, 13:00";
@ -43,7 +45,7 @@ class JTest_AutoMitSchulden {
ausfahrt = "01.10.2024, 15:00";
parkhaus.einfahren(kennzeichen, einfahrt);
parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt);
parkhaus.setBezahlt(kennzeichen);
parkhaus.setVerschuldet(kennzeichen);
parkhaus.ausfahren(kennzeichen, ausfahrt);

View File

@ -1,7 +1,10 @@
package Parkhaus;
package Parkhaus.domain.JTests;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.*;
import Parkhaus.domain.Parkhaus;
import java.text.ParseException;
class JTest_Einfahren {

View File

@ -1,4 +1,4 @@
package Parkhaus;
package Parkhaus.domain.JTests;
import static org.junit.jupiter.api.Assertions.assertEquals;
@ -11,6 +11,8 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import Parkhaus.domain.Parkhaus;
class JTest_ausfahren {
private Parkhaus parkhaus;
private SimpleDateFormat sdf;

View File

@ -1,4 +1,4 @@
package Parkhaus;
package Parkhaus.domain.JTests;
import static org.junit.jupiter.api.Assertions.*;
@ -10,6 +10,9 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import Parkhaus.domain.AutoNichtGefundenException;
import Parkhaus.domain.Parkhaus;
class JTest_berechneParkgebuehren {
private Parkhaus parkhaus;

View File

@ -1,4 +1,4 @@
package Parkhaus;
package Parkhaus.domain.JTests;
import static org.junit.jupiter.api.Assertions.*;
@ -9,6 +9,8 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import Parkhaus.domain.Parkhaus;
class JTest_checkVisakarte {
private Parkhaus parkhaus;

View File

@ -1,4 +1,4 @@
package Parkhaus;
package Parkhaus.domain;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@ -21,7 +21,7 @@ public class Parkhaus {
private Fahrzeug fahrzeug;
private double betragAktuellesAuto;
Parkhaus() {
public Parkhaus() {
this.fahrzeuge = new ArrayList<>();
this.fahrzeugeMitSchulden = new HashSet<>();
this.maxPlaetze = 180;
@ -118,14 +118,19 @@ public class Parkhaus {
ausfahrt = sdf.parse(aktuelleZeitString);
} else
ausfahrt = sdf.parse(ausfahrtzeit);
if (fahrzeug.isBezahlt() == true || fahrzeug.IstVerschuldet() == true) {
fahrzeuge.remove(fahrzeug);
maxPlaetze++;
if (fahrzeug.getBetrag() > 0) {
if (fahrzeug.isBezahlt() == true || fahrzeug.IstVerschuldet() == true) {
fahrzeuge.remove(fahrzeug);
maxPlaetze++;
return true;
}
else
return false;
}else
return true;
}
return false;
}
public String getkennzeichenAktuellesAuto() {
@ -145,28 +150,26 @@ public class Parkhaus {
public boolean setVerschuldet(String kennzeichen) throws AutoNichtGefundenException {
/* - Speichere das Auto, welches Schulden hat
* - Wenn das Auto nochmal Schuldne hat,
* lösche das alte Objekt und speichere das neue mit dem neuen Betrag
* aktuliesiere der Betrag des Autos
*
*/
fahrzeug = findeFahrzeug(kennzeichen);
fahrzeug.setIstVerschuldet(true);
fahrzeug.setBezahlt(false);
Fahrzeug zuEntfernendesFahrzeug = null;
Fahrzeug markFahrzeug = null;
for (Fahrzeug f : fahrzeugeMitSchulden)
if (f.getKennzeichen().equalsIgnoreCase(kennzeichen)) {
//Markiere das Auto, das wir löschen wollen
zuEntfernendesFahrzeug = f;
markFahrzeug = f;
break;
}
if (zuEntfernendesFahrzeug != null) {
fahrzeugeMitSchulden.remove(zuEntfernendesFahrzeug);
}
fahrzeugeMitSchulden.add(fahrzeug);
if (markFahrzeug != null)
markFahrzeug.setBetrag(fahrzeug.getBetrag());
else
fahrzeugeMitSchulden.add(fahrzeug);
return fahrzeug.IstVerschuldet();
}

View File

@ -1,4 +1,4 @@
package Parkhaus;
package Parkhaus.domain;
public class Zahlung {

View File

@ -1,4 +1,4 @@
package Parkhaus;
package Parkhaus.domain;
import java.util.ArrayList;
import java.util.HashSet;