class EuroPruefZiffer      // fuer Euro-Banknoten  
{     SimpleInput in;      // Das Objekt der Klasse SimpleInput deklarieren.
      int[]       ziffer;  // Feld fuer die Ziffern der Banknote 
                           // deklarieren

  public EuroPruefZiffer()
  { in     = new SimpleInput(); // Das Objekt der Klasse SimpleInput erzeugen. 
    ziffer = new int[13];       // Das Array erzeugen.
  }
 
  public int querSumme()
  { int summe=0;
    for (int i = 0; i <= 11; i++)
         summe = summe + ziffer[i];
    return summe;
  } // querSumme

  public int pruefZiffer()
  { int rest = querSumme() % 9;
    int differenz = 8 - rest;
    if (differenz == 0) 
         return 0;
    else return differenz;
  } // pruefZiffer

  public void action()
  { String eingabe;
    int laenderBuchstabenPosition;
    do 
    {   eingabe = in.getString("Geben Sie die Nummer einer " +
                               "Euro-Banknote (mit Buchstabe): ");
    } while (eingabe.length()!=12);
    laenderBuchstabenPosition = (int)eingabe.charAt(0)-64;
    ziffer[0] = laenderBuchstabenPosition / 10;
    ziffer[1] = laenderBuchstabenPosition % 10;
    
    for (int i = 2; i <= 12; i++)
    {  ziffer[i] = (int)eingabe.charAt(i-1)-48; // Ziffern zeichenweise auslesen.
    }
    
    if (pruefZiffer()==ziffer[12])
         System.out.println("Die Pruefziffer ist richtig.");
    else System.out.println("Ihr Schein ist falsch.");
  } // action
}  // class EuroPruefZiffer
