MezData-Logo

Lösung 2019-Wi-FIS-A2

A2 Geldscheine prüfen

Wie es wirklich gemacht wird: de.wikipedia.org/wiki/Eurobanknoten#Seriennummer

Bin mit der Aufgabenstellung nicht glücklich.

Quellcode [Geldscheine/Pruefer.java]
public class Pruefer{
    static boolean pruefeKontrollnummer(String sNr){
    int i,qsum=0,n;
    if(sNr.length()!=12)return false; // Stimmt die Laenge?
    for(i=0;i<=1;i++){ // Druckereikennung
      n=positionImAlphabet(sNr.charAt(i));
      while(n>0){
        qsum = qsum+ n%10;
        n = n / 10;
      }
    }
    for(i=2;i<=10;i++){ // restliche Ziffern
      qsum=qsum + (sNr.charAt(i)-'0');
    }
    int pZiffer = 7 - qsum%9;
    return pZiffer==sNr.charAt(11)-'0'; // stimmt Pruefziffer?
  }
  static int positionImAlphabet(char b){
    return b-'A'+1;  
  }
  static void test(){
    System.out.println(pruefeKontrollnummer("SE7133131855"));  
  }
}