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

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