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.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import Parkhaus.domain.AutoNichtGefundenException;
public class Main { public class Main {
public static void main(String[] args) throws ParseException, AutoNichtGefundenException, Exception { public static void main(String[] args) throws ParseException, AutoNichtGefundenException, Exception {

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
package Parkhaus; package Parkhaus.domain.JTests;
import static org.junit.jupiter.api.Assertions.*; 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.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import Parkhaus.domain.Parkhaus;
class Allgemeine_Test { class Allgemeine_Test {
private Parkhaus system; private Parkhaus system;

View File

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

View File

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

View File

@ -1,4 +1,4 @@
package Parkhaus; package Parkhaus.domain.JTests;
import static org.junit.jupiter.api.Assertions.assertEquals; 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.Disabled;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import Parkhaus.domain.Parkhaus;
class JTest_ausfahren { class JTest_ausfahren {
private Parkhaus parkhaus; private Parkhaus parkhaus;
private SimpleDateFormat sdf; private SimpleDateFormat sdf;

View File

@ -1,4 +1,4 @@
package Parkhaus; package Parkhaus.domain.JTests;
import static org.junit.jupiter.api.Assertions.*; 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.Disabled;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import Parkhaus.domain.AutoNichtGefundenException;
import Parkhaus.domain.Parkhaus;
class JTest_berechneParkgebuehren { class JTest_berechneParkgebuehren {
private Parkhaus parkhaus; private Parkhaus parkhaus;

View File

@ -1,4 +1,4 @@
package Parkhaus; package Parkhaus.domain.JTests;
import static org.junit.jupiter.api.Assertions.*; 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.Disabled;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import Parkhaus.domain.Parkhaus;
class JTest_checkVisakarte { class JTest_checkVisakarte {
private Parkhaus parkhaus; private Parkhaus parkhaus;

View File

@ -1,4 +1,4 @@
package Parkhaus; package Parkhaus.domain;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -21,7 +21,7 @@ public class Parkhaus {
private Fahrzeug fahrzeug; private Fahrzeug fahrzeug;
private double betragAktuellesAuto; private double betragAktuellesAuto;
Parkhaus() { public Parkhaus() {
this.fahrzeuge = new ArrayList<>(); this.fahrzeuge = new ArrayList<>();
this.fahrzeugeMitSchulden = new HashSet<>(); this.fahrzeugeMitSchulden = new HashSet<>();
this.maxPlaetze = 180; this.maxPlaetze = 180;
@ -119,13 +119,18 @@ public class Parkhaus {
} else } else
ausfahrt = sdf.parse(ausfahrtzeit); ausfahrt = sdf.parse(ausfahrtzeit);
if (fahrzeug.getBetrag() > 0) {
if (fahrzeug.isBezahlt() == true || fahrzeug.IstVerschuldet() == true) { if (fahrzeug.isBezahlt() == true || fahrzeug.IstVerschuldet() == true) {
fahrzeuge.remove(fahrzeug); fahrzeuge.remove(fahrzeug);
maxPlaetze++; maxPlaetze++;
return true; return true;
} }
else
return false; return false;
}else
return true;
} }
public String getkennzeichenAktuellesAuto() { public String getkennzeichenAktuellesAuto() {
@ -145,26 +150,24 @@ public class Parkhaus {
public boolean setVerschuldet(String kennzeichen) throws AutoNichtGefundenException { public boolean setVerschuldet(String kennzeichen) throws AutoNichtGefundenException {
/* - Speichere das Auto, welches Schulden hat /* - Speichere das Auto, welches Schulden hat
* - Wenn das Auto nochmal Schuldne 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 = findeFahrzeug(kennzeichen);
fahrzeug.setIstVerschuldet(true); fahrzeug.setIstVerschuldet(true);
fahrzeug.setBezahlt(false); fahrzeug.setBezahlt(false);
Fahrzeug zuEntfernendesFahrzeug = null; Fahrzeug markFahrzeug = null;
for (Fahrzeug f : fahrzeugeMitSchulden) for (Fahrzeug f : fahrzeugeMitSchulden)
if (f.getKennzeichen().equalsIgnoreCase(kennzeichen)) { if (f.getKennzeichen().equalsIgnoreCase(kennzeichen)) {
//Markiere das Auto, das wir löschen wollen markFahrzeug = f;
zuEntfernendesFahrzeug = f;
break; break;
} }
if (zuEntfernendesFahrzeug != null) { if (markFahrzeug != null)
fahrzeugeMitSchulden.remove(zuEntfernendesFahrzeug); markFahrzeug.setBetrag(fahrzeug.getBetrag());
} else
fahrzeugeMitSchulden.add(fahrzeug); fahrzeugeMitSchulden.add(fahrzeug);
return fahrzeug.IstVerschuldet(); return fahrzeug.IstVerschuldet();

View File

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

View File

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