1   /** 
2    * 183.592 Programmierpraxis TU Wien WS2014/15 H.Moritsch
3    * Ausgabe aller Zahlen zwischen 1 und n, die eine bestimmte
4    * Ziffernsumme z aufweisen
5    * Berechnung der Ziffernsumme in einer Methode
6    */
7   public class ZiffernsummentestMethode {
8       public static void main(String[] args) {
9   
10          int n = 200;
11          int z = 13;
12  
13          int anzahl;         // zählt die gefundenen Zahlen
14          int i;              // zu testende Zahl
15  
16          // Vorbereitung der äußeren Schleife
17  
18          anzahl = 0;
19          i = 1;
20  
21          // für alle Zahlen kleiner oder gleich n:
22          while( i <= n ) {
23  
24              if ( ziffernsumme(i) == z ) {
25                  System.out.println(i);                  
26                  anzahl = anzahl + 1;        // anzahl wird um 1 erhöht
27                  }
28  
29              i = i + 1;                      // die nächste zu testende Zahl 
30              
31          } 
32  
33      System.out.println(anzahl);
34   
35      }
36  
37      /**
38      * Berechnung der Ziffernsumme einer Zahl
39      */ 
40      private static int ziffernsumme(int zahl) {
41  
42          int summe;
43          int ziffer;
44          
45          summe = 0;
46  
47          while ( zahl > 0 ) {
48  
49              ziffer = zahl % 10;
50              summe  = summe + ziffer;
51              zahl   = zahl / 10;         // Änderung des (formalen) Parameters
52                                          // wirkt sich in main nicht aus!            
53          }
54      
55      return summe;
56      }
57  
58  }
59