Compare commits
No commits in common. "41d21e41490b3cc66fdfce0f38a5e3db0b1dfaa5" and "3ae964f83342bdf5662074948bf8b35d451fb2ee" have entirely different histories.
41d21e4149
...
3ae964f833
|
@ -1,7 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="Encoding">
|
|
||||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
|
||||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
|
@ -1,14 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
|
||||||
<component name="MavenProjectsManager">
|
|
||||||
<option name="originalFiles">
|
|
||||||
<list>
|
|
||||||
<option value="$PROJECT_DIR$/pom.xml" />
|
|
||||||
</list>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
|
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
|
@ -1,12 +1,4 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="CommitMessageInspectionProfile">
|
<component name="VcsDirectoryMappings" defaultProject="true" />
|
||||||
<profile version="1.0">
|
|
||||||
<inspection_tool class="CommitFormat" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
||||||
<inspection_tool class="CommitNamingConvention" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
||||||
</profile>
|
|
||||||
</component>
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="" vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
</project>
|
8
pom.xml
8
pom.xml
|
@ -13,13 +13,5 @@
|
||||||
<maven.compiler.target>21</maven.compiler.target>
|
<maven.compiler.target>21</maven.compiler.target>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.junit.jupiter</groupId>
|
|
||||||
<artifactId>junit-jupiter</artifactId>
|
|
||||||
<version>5.8.1</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
20
readme.txt
20
readme.txt
|
@ -1,20 +0,0 @@
|
||||||
Was soll programmiert werden?
|
|
||||||
|
|
||||||
Eine (textuelle) UI, in der ein PKW einfahren kann, also ein Kennzeichen und ein Zeitstempel eingegeben werden können. Sehen Sie am besten auch eine Möglichkeit vor, um die aktuelle Zeit ohne großen Eingabeaufwand übernehmen zu können, z.B. bei leerer Eingabe wird die aktuelle Zeit verwendet. Kennzeichen können Sie hier auch gerne zufällig generieren.
|
|
||||||
Kennzeichen sollen das folgende Format haben: MA-SH 4077 mit optional einem E an der Zahl, also ROK-ME 123E.
|
|
||||||
Timestamps, s.u.
|
|
||||||
Eine (textuelle) UI, in der Autofahrer sein Kennzeichen eingeben kann und dafür die aktuellen Parkgebühren berechnet bekommt und diese durch Eingabe einer Kreditkartennummer (Simulation für die echte Karte) bezahlt bekommt. Auch hier soll es die Möglichkeit zur Eingabe einer Zeit geben, um verschiedene Parkdauern simulieren zu können.
|
|
||||||
um es nicht zu kompliziert zu machen, wollen wir nur 16stellige VISA-Karten unterstützen und zur Sicherheitsprüfung ausschließlich deren Prüfziffer berechnen wie hier beschrieben.
|
|
||||||
Eine (textuelle) UI, um einen PKW wieder ausfahren zu lassen, hier müssen wieder Kennzeichen und Zeit eingegeben werden können (da auch PKWs ohne Bezahlung ausfahren können sollen).
|
|
||||||
Ferner folgende Funktionalität:
|
|
||||||
Verwaltung der ein- und ausfahrenden PKW.
|
|
||||||
Berechnung der Parkgebühren.
|
|
||||||
Überwachung der Zahlungen.
|
|
||||||
Ausgabe einer Meldung, wenn ein PKW ohne vorheriges Zahlen das Parkhaus verlässt. (Wir gehen der Einfachheit halber davon aus, dass ein PK, der seine Gebühren gezahlt hat, auch immer sofort ausfährt.)
|
|
||||||
Ausgabe einer Meldung, wenn ein PKW mit "Schulden" erneut in das Parkhaus einfährt sowie optional eine Addition der früheren Schulden auf die neue Rechnung.
|
|
||||||
Orientieren Sie sich für die Berechnung der Parkgebühren an folgendem Schema:
|
|
||||||
Die ersten 15 min Parken sind kostenfrei weil unser Parkhaus am Bahnhof steht ("kiss and ride").
|
|
||||||
Jede angefangene Stunde kostet 1 Euro.
|
|
||||||
Zwischen 20 und 6 Uhr kostet das Parken maximal 5 Euro.
|
|
||||||
Der Preis ist pro Tag (also alle 24 h) auf 15 Euro gedeckelt.
|
|
||||||
E-Autos (mit E am Ende des Kennzeichens) erhalten 20% Rabatt.
|
|
|
@ -1,58 +0,0 @@
|
||||||
package de.deversmann;
|
|
||||||
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
public class Auto {
|
|
||||||
|
|
||||||
public Auto(String kennzeichen) {
|
|
||||||
this.kennzeichen = kennzeichen;
|
|
||||||
this.einfahrtZeit = new Date();
|
|
||||||
this.bezahlt = false;
|
|
||||||
this.ausfahrtZeit = new Date();
|
|
||||||
this.bezahlZeit = new Date();
|
|
||||||
}
|
|
||||||
private Calendar calendar = Calendar.getInstance();
|
|
||||||
|
|
||||||
private final String kennzeichen;
|
|
||||||
private Date einfahrtZeit;
|
|
||||||
private Date bezahlZeit;
|
|
||||||
private Date ausfahrtZeit;
|
|
||||||
private boolean bezahlt;
|
|
||||||
|
|
||||||
public String getKennzeichen() {
|
|
||||||
return kennzeichen;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getEinfahrtZeit() {
|
|
||||||
return einfahrtZeit;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEinfahrtZeit() {
|
|
||||||
this.einfahrtZeit = calendar.getTime() ;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getBezahlZeit() {
|
|
||||||
return bezahlZeit;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBezahlZeit(Date bezahlZeit) {
|
|
||||||
this.bezahlZeit = bezahlZeit;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getAusfahrtZeit() {
|
|
||||||
return ausfahrtZeit;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAusfahrtZeit(Date ausfahrtZeit) {
|
|
||||||
this.ausfahrtZeit = ausfahrtZeit;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isBezahlt() {
|
|
||||||
return bezahlt;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBezahlt(boolean bezahlt) {
|
|
||||||
this.bezahlt = bezahlt;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,20 +1,17 @@
|
||||||
package de.deversmann;
|
package de.deversmann;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
|
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
|
||||||
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
|
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
|
||||||
public class Main {
|
public class Main {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
//TIP Press <shortcut actionId="ShowIntentionActions"/> with your caret at the highlighted text
|
||||||
|
// to see how IntelliJ IDEA suggests fixing it.
|
||||||
|
System.out.printf("Hello and welcome!");
|
||||||
|
|
||||||
|
for (int i = 1; i <= 5; i++) {
|
||||||
Parkhaus parkhaus = new Parkhaus();
|
//TIP Press <shortcut actionId="Debug"/> to start debugging your code. We have set one <icon src="AllIcons.Debugger.Db_set_breakpoint"/> breakpoint
|
||||||
Auto auto1 = new Auto("D-DL-2023");
|
// for you, but you can always add more by pressing <shortcut actionId="ToggleLineBreakpoint"/>.
|
||||||
System.out.println(parkhaus.isGeöffnet());
|
System.out.println("i = " + i);
|
||||||
System.out.println(auto1.getEinfahrtZeit());
|
}
|
||||||
var sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
|
||||||
System.out.println(sdf.format(new Date()));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,71 +0,0 @@
|
||||||
package de.deversmann;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class Parkhaus {
|
|
||||||
|
|
||||||
|
|
||||||
private boolean geöffnet;
|
|
||||||
private int anzahlParkplätze;
|
|
||||||
|
|
||||||
|
|
||||||
public int getBelegteParkplätze() {
|
|
||||||
return belegteParkplätze;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBelegteParkplätze(int belegteParkplätze) {
|
|
||||||
this.belegteParkplätze = belegteParkplätze;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int belegteParkplätze;
|
|
||||||
private double kosten;
|
|
||||||
private double ticketPreis;
|
|
||||||
private double maxTagessatz;
|
|
||||||
private final int geöffnetAb = 6;
|
|
||||||
private final int geschlossenAb = 22;
|
|
||||||
|
|
||||||
public boolean isGeöffnet() {
|
|
||||||
|
|
||||||
|
|
||||||
return geöffnet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setGeöffnet(boolean geöffnet) {
|
|
||||||
this.geöffnet = geöffnet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getAnzahlParkplätze() {
|
|
||||||
return anzahlParkplätze;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAnzahlParkplätze(int anzahlParkplätze) {
|
|
||||||
this.anzahlParkplätze = anzahlParkplätze;
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getKosten() {
|
|
||||||
return kosten;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setKosten(double kosten) {
|
|
||||||
this.kosten = kosten;
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getTicketPreis() {
|
|
||||||
return ticketPreis;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTicketPreis(double ticketPreis) {
|
|
||||||
this.ticketPreis = ticketPreis;
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getMaxTagessatz() {
|
|
||||||
return maxTagessatz;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMaxTagessatz(double maxTagessatz) {
|
|
||||||
this.maxTagessatz = maxTagessatz;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
package de.deversmann;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
|
|
||||||
|
|
||||||
class AutoTest {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void getKennzeichen() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void getEinfahrtZeit() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void setEinfahrtZeit() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void getBezahlZeit() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void setBezahlZeit() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void getAusfahrtZeit() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void setAusfahrtZeit() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void isBezahlt() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void setBezahlt() {
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,55 +0,0 @@
|
||||||
package de.deversmann;
|
|
||||||
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
|
|
||||||
class ParkhausTest {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void getBelegteParkplätze() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void setBelegteParkplätze() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void isGeöffnet() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void setGeöffnet() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void getAnzahlParkplätze() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void setAnzahlParkplätze() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void getKosten() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void setKosten() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void getTicketPreis() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void setTicketPreis() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void getMaxTagessatz() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void setMaxTagessatz() {
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue