You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.0 KiB
Java
83 lines
3.0 KiB
Java
package com.company.pruefnummern;
|
|
|
|
import java.util.Scanner;
|
|
|
|
public class PayBack_LOL {
|
|
|
|
public static void main(String[] args) {
|
|
Eingabe();
|
|
}
|
|
|
|
public static void Eingabe(){
|
|
Scanner scanner = new Scanner(System.in);
|
|
|
|
System.out.println("Bitte geben sie die PayBack Nummer ein: z.B. 3083423103187694");
|
|
String wagenNummer = scanner.nextLine().replace("-", "");
|
|
|
|
while (wagenNummer.length() != 16) {
|
|
System.out.println("Die Nummer muss 16 Stellen lang sein. Bitte erneut eingeben");
|
|
wagenNummer = scanner.nextLine().replace("-", "");
|
|
}
|
|
|
|
boolean korrektheit = pruefungNummer(wagenNummer);
|
|
ausgabe(korrektheit);
|
|
}
|
|
|
|
public static boolean pruefungNummer(String PayBackNummer){
|
|
|
|
String[] prifaex = {"079", "306", "307", "310", "376", "024", "503", "504", "002", "006", "007", "032", "391", "423", "424", "383", "505", "506", "384"};
|
|
String[] unternehmen = {"Amazon", "DEA", "DEA", "DEA", "DM-Drogerie", "Galeria Kaufhof", "Lufthansa", "Lufthansa", "real", "real", "real", "real", "real", "Visa", "Visa", "AOL", "Obi", "Obi", "Palmers"};
|
|
for(int i = 0; i < prifaex.length; i++ ){
|
|
if(PayBackNummer.substring(6, 9).equals(prifaex[i])){
|
|
System.out.println("Die PayPack Nummer gehört zu dem Unternehmen " + unternehmen[i]);
|
|
}
|
|
}
|
|
|
|
int quersumme = 0;
|
|
for (int i = 0; i < PayBackNummer.length() - 1; i++) {
|
|
char stelle = PayBackNummer.charAt(i);
|
|
int gewichtung = Character.getNumericValue(stelle) * (i % 2 == 0 ? 2 : 1);
|
|
|
|
int quer, h, rest;
|
|
quer = 0;
|
|
h = gewichtung;
|
|
while (gewichtung > 0) {
|
|
rest = gewichtung % 10;
|
|
quer = quer + rest;
|
|
gewichtung = gewichtung / 10;
|
|
}
|
|
quersumme += quer;
|
|
}
|
|
int PayBackNummerOhnePruefziffer = PayBackNummer.charAt(PayBackNummer.length() - 1);
|
|
|
|
int pruefziffer = Character.getNumericValue(PayBackNummerOhnePruefziffer);
|
|
int PruefzifferBerechnet = 10 - quersumme % 10;
|
|
|
|
System.out.println("Die Pruefziffer lautet: " + PruefzifferBerechnet);
|
|
|
|
boolean korrektheit = false;
|
|
if (PruefzifferBerechnet != pruefziffer){
|
|
korrektheit = false;
|
|
} else {
|
|
korrektheit = true;
|
|
}
|
|
|
|
return(korrektheit);
|
|
}
|
|
|
|
public static void ausgabe(boolean korrektheit){
|
|
Scanner scanner = new Scanner(System.in);
|
|
if (korrektheit != true) {
|
|
System.out.println("Die Kennnummer ist nicht korrekt oder ungültig!");
|
|
|
|
} else {
|
|
System.out.println("Kennnummer is gültig!");
|
|
}
|
|
System.out.println("Wollen Sie eine weitere Nummer pruefen? Wenn ja bitte mit y bestätigen. Wenn nich kann das Programm mit N beendet werden.");
|
|
String weiter = scanner.nextLine().replace("-", "");
|
|
if(weiter.equals("y")) {
|
|
Eingabe();
|
|
}
|
|
}
|
|
|
|
} |