From 2e74f1c392f4ae7a9ab68d098bf90c3c2f5baac6 Mon Sep 17 00:00:00 2001 From: Marc Michalsky Date: Mon, 6 Apr 2020 15:09:36 +0200 Subject: [PATCH] Aufgaben bearbeitet --- src/gfn/marc/Main.java | 83 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/gfn/marc/Main.java diff --git a/src/gfn/marc/Main.java b/src/gfn/marc/Main.java new file mode 100644 index 0000000..60e717f --- /dev/null +++ b/src/gfn/marc/Main.java @@ -0,0 +1,83 @@ +package gfn.marc; + +import javax.swing.*; + +public class Main { + + public static void main(String[] args) { + + String vorname; + String nachname; + + // Eingabe Vorname und Nachname + vorname = JOptionPane.showInputDialog(null, "Vorname", + "Ena").trim().replace("ä","ae"). + replace("ö", "oe").replace("ü", "ue"). + replace("Ä", "Ae").replace("Ö", "Oe"). + replace("Ü", "Ue").replace("ß", "ss").toUpperCase(); + nachname = JOptionPane.showInputDialog(null, "Nachname", + "Mustermann").trim().replace("ä","ae"). + replace("ö", "oe").replace("ü", "ue"). + replace("Ä", "Ae").replace("Ö", "Oe"). + replace("Ü", "Ue").replace("ß", "ss").toUpperCase(); + + // Ausgabe von Vor- und Nachname + Stellenanzahl + System.out.println(vorname + " (" + vorname.toLowerCase() + ", " + vorname.length() + " Stellen)"); + System.out.println(nachname + " (" + nachname.toLowerCase() + ", " + nachname.length() + " Stellen)"); + + // Ausgabe der gemeinsamen Stellenanzahl + System.out.println("Stellen: " + (vorname.length() + nachname.length())); + + // Prüfung, ob Vor- oder Nachname "Muster" ist. + System.out.println("Initialien: " + vorname.charAt(0) + nachname.charAt(0)); + if (vorname.equalsIgnoreCase("Muster") || nachname.equalsIgnoreCase("Muster")) { + System.out.println(vorname.equalsIgnoreCase("Muster") ? "Der Vorname ist \"Muster\"!" : + "Der Nachname ist \"Muster\"!"); + } else { + System.out.println("Weder der Vorname noch der Nachname ist \"Muster\""); + } + + System.out.println(); + + // Kartennummer generieren und ausgeben + String kartennummer = generiereKartennummer(); + // String kartennummer = "1234-5678-9123-4560"; + System.out.println(kartennummer); + + + // Maskierte Kartennummer ausgeben + System.out.println(maskiereKartennummer(kartennummer)); + + // Prüfung, ob Stellen 1-4 "5555" sind + if (kartennummer.substring(0,4).equals("5555")) { + System.err.println("ungültige Startkennung!"); + } + if (kartennummer.startsWith("0") || kartennummer.endsWith("0")) { + System.err.println("ungültige Startkennung!"); + } + + } + + public static String maskiereKartennummer(String kartennummer) { + String maske = "xxxx-xxxx-xxxx-"; + kartennummer = kartennummer.substring(15,19); + return maske.concat(kartennummer); + } + + public static String generiereKartennummer() { + StringBuilder kartennummer = new StringBuilder(); + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + kartennummer.append(erzeugeZugallszahl()); + } + kartennummer.append("-"); + } + kartennummer.deleteCharAt(kartennummer.length() - 1); + return kartennummer.toString(); + } + + + public static int erzeugeZugallszahl() { + return (int) (Math.random() * 9) + 1; + } +}