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.
50 lines
1.6 KiB
Java
50 lines
1.6 KiB
Java
package com.company;
|
|
import java.util.Scanner;
|
|
|
|
public class EinkaufswagenNummer {
|
|
|
|
public static void main(String[] args){
|
|
Scanner scanner = new Scanner(System.in);
|
|
System.out.println("Bitte geben sie die Kennnummer ein: ");
|
|
String wagenNummer = scanner.nextLine().replace("-", "");
|
|
|
|
while (wagenNummer.length() != 4 ){
|
|
System.out.println("Die Nummer muss 4 Stellen lang sein. Bitte erneut eingeben");
|
|
wagenNummer = scanner.nextLine().replace("-", "");
|
|
}
|
|
|
|
boolean korrektheit = pruefungNummer(wagenNummer);
|
|
ausgabe(korrektheit);
|
|
}
|
|
|
|
public static boolean pruefungNummer(String nummer){
|
|
int gewichtung = 0;
|
|
for (int i = 0; i < nummer.length() - 1; i++) {
|
|
char stelle = nummer.charAt(i);
|
|
gewichtung += Character.getNumericValue(stelle) * (i % 2 == 0 ? 1 : 1);
|
|
}
|
|
|
|
int PruefziffEntfernen = nummer.charAt(nummer.length() - 1);
|
|
|
|
int pruefziffer = Character.getNumericValue(PruefziffEntfernen);
|
|
int PruefzifferBerechnet = 10 - gewichtung % 10;
|
|
|
|
boolean korrektheit = false;
|
|
if (PruefzifferBerechnet != pruefziffer){
|
|
korrektheit = false;
|
|
} else {
|
|
korrektheit = true;
|
|
}
|
|
|
|
return(korrektheit);
|
|
}
|
|
|
|
public static void ausgabe(boolean korrektheit){
|
|
if (korrektheit != true) {
|
|
System.out.println("Die Kennnummer ist nicht korrekt oder ungültig!");
|
|
} else {
|
|
System.out.println("Kennnummer is gültig!");
|
|
}
|
|
}
|
|
}
|