/*
 * "Grundkurs Programmieren in Java - Band 1 (3. Auflage, 2006)I" 
 * 2001-2006, Carl Hanser Verlag
 * Loesungsvorschlag zu Aufgabe 5.1 (Version 3.0)
 * (c) 2001-2006 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
 *
 *
 * Testet, ob die Quersumme einer eingelesen ganzen dreistelligen Zahl
 * durch eine ihrer Ziffern teilbar ist
 * (Zahl muss zwischen 100 und 999 liegen)
 *
 */

import Prog1Tools.IOTools;

public class QuersummenTeilbarkeit {

  public static void main (String[] args) {

    int zahl;
    int querSumme;
    int einer;
    int zehner;
    int hunderter;

    zahl = IOTools.readInteger( "Zahl? > " );

    if ( zahl < 100 ) {
      System.out.println( "Fehler: Zahl darf nicht kleiner als 100 werden - Abbruch!" );
      System.exit( -1 );  // Programm-Abbruch
    }

    if ( zahl > 999 ) {
      System.out.println( "Fehler: Zahl darf nicht groesser als 999 werden - Abbruch!" );
      System.exit( -1 );
    }

    // eingelesene Zahl in ihre Stellen zerlegen
    einer     =  zahl       % 10;
    zehner    = (zahl / 10) % 10;
    hunderter = (zahl / 100);

    // Quersumme berechnen
    querSumme = einer + zehner + hunderter;
    System.out.println( "Die Quersumme von " + zahl + " ist " + querSumme + "\n" );

    // auf Teilbarkeit pruefen
    if (einer != 0 &&
        querSumme % einer == 0)
      System.out.println( "Die Quersumme ist durch " + einer + " teilbar!" );

    if (zehner != 0 &&
        querSumme % zehner == 0)
      System.out.println( "Die Quersumme ist durch " + zehner + " teilbar!" );

    if (hunderter != 0 &&
        querSumme % hunderter == 0)
      System.out.println( "Die Quersumme ist durch " + hunderter + " teilbar!" );

  }

}
