| ZiffernsummentestMethodeFor.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 * mit for-Schleife
6 * Berechnung der Ziffernsumme in einer Methode
7 */
8 public class ZiffernsummentestMethodeFor {
9 public static void main(String[] args) {
10
11 int n = 200;
12 int z = 13;
13
14 int anzahl = 0; // zählt die gefundenen Zahlen
15
16 // für alle Zahlen von 1 bis n:
17 for ( int i = 1; i <= n; i++ ) {
18
19 if ( ziffernsumme(i) == z ) {
20 System.out.println(i);
21 anzahl++;
22 }
23
24 }
25
26 System.out.println("es gibt " + anzahl+" Zahlen zwischen 1 und " + n + " mit Ziffernsumme " + z);
27
28 }
29
30 /**
31 * Berechnung der Ziffernsumme einer Zahl
32 */
33 private static int ziffernsumme(int zahl) {
34
35 int summe;
36 int ziffer;
37
38 summe = 0;
39
40 while ( zahl > 0 ) {
41
42 ziffer = zahl % 10;
43 summe = summe + ziffer;
44 zahl = zahl / 10; // Änderung des (formalen) Parameters
45 // wirkt sich in main nicht aus!
46 }
47
48 return summe;
49 }
50
51 }
52