| ZiffernsummentestMethode.java |
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