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(); } }