85 lines
2.2 KiB
Java
85 lines
2.2 KiB
Java
package QualifierTeil2;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
import java.util.Random;
|
|
|
|
public class PKW {
|
|
private String kennzeichen;
|
|
Date einfahrt;
|
|
private boolean hatBezahlt;
|
|
double gebuehrenkonto;
|
|
|
|
public PKW() {
|
|
this.kennzeichen = generiereKennzeichen();
|
|
this.einfahrt = new Date();
|
|
this.hatBezahlt = false;
|
|
this.gebuehrenkonto = 0;
|
|
}
|
|
|
|
public String getKennzeichen() {
|
|
return kennzeichen;
|
|
}
|
|
|
|
public Date getEinfahrt() {
|
|
return einfahrt;
|
|
}
|
|
|
|
public String getEinfahrtAlsString(){
|
|
return gebeAktuelleZeit();
|
|
}
|
|
|
|
public double getGebuehrenkonto() {
|
|
return gebuehrenkonto;
|
|
}
|
|
|
|
public void setGebuehrenkonto(double gebuehrenkonto) {
|
|
this.gebuehrenkonto = gebuehrenkonto;
|
|
}
|
|
|
|
public boolean hatBezahlt() {
|
|
return hatBezahlt;
|
|
}
|
|
|
|
public void setBezahlt(boolean bezahlt) {
|
|
this.hatBezahlt = bezahlt;
|
|
}
|
|
|
|
public String gebeAktuelleZeit(){
|
|
var sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
|
return sdf.format(new Date());
|
|
}
|
|
|
|
public String generiereKennzeichen(){
|
|
Random random = new Random();
|
|
|
|
// 2 bis 3 Buchstaben für Stadt/Region
|
|
String stadtRegion = randomString(random, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", random.nextInt(2) + 2);
|
|
|
|
// 1 bis 2 Buchstaben für Fahrzeugklasse
|
|
String fahrzeugKlasse = randomString(random, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", random.nextInt(2) + 1);
|
|
|
|
// 1 bis 4 Ziffern für die Nummer
|
|
String nummer = randomString(random, "0123456789", random.nextInt(4) + 1);
|
|
|
|
// Optional ein "E" für Elektrofahrzeuge
|
|
String elektro = random.nextBoolean() ? "E" : "";
|
|
|
|
// Zusammenfügen des Kennzeichens
|
|
return stadtRegion + "-" + fahrzeugKlasse + " " + nummer + elektro;
|
|
}
|
|
|
|
// Hilfsmethode zur Erzeugung einer zufälligen Zeichenkette
|
|
private static String randomString(Random random, String zeichen, int laenge) {
|
|
StringBuilder sb = new StringBuilder(laenge);
|
|
for (int i = 0; i < laenge; i++) {
|
|
sb.append(zeichen.charAt(random.nextInt(zeichen.length())));
|
|
}
|
|
return sb.toString();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|