# Gerade Zahlen aus einer Zahl summieren



## modolo (27. Nov 2011)

Hallo Zusammen.

Bei folgender Fragestellung komme ich leider gerade nicht auf einen grünen Zweig.

Formuliere den Java-Code für eine Schleife "Summiere die geraden Zahlen aus 1,..., n" mittels while Schleife und mittels for-Schleife (d.h. für n=7 ist die Summe: 2+4+6=12).

Bisher habe ich folgenden Quellcode.
Somit gibt er mir schon mal die Zahlen aus, die addiert werden müssen

```
int z = 7;

		for(int h = 0; h< z; h++){
			while (h %2 == 0){
					System.out.println(h +2);
					break;
```
.

Nur wie muss ich jetzt weiter machen?
Über Tipps würde ich mich sehr freuen


----------



## faetzminator (27. Nov 2011)

Ich glaub nicht, dass du dies mit einer for- *und* while-Schleife im gleichen Code machen musst. Sondern zwei Codesnippets, bei welchen eines mit einer for- und das andere mit einer while-Schleife funktioniert. Wenn du nämlich das while durch ein if ersetzt und darin den Wert zu einer Variablen [c]summe[/c] o.ä. addierst, kannst du diesen am Schluss einfach ausgeben.


----------



## Marcinek (27. Nov 2011)

```
for(int i=0; i < irgenteineZahl; i = i+2) 
          summe = summe + i;
```

und dann das geliche mit while.

Und nicht while und for kombinierenl


----------



## XHelp (27. Nov 2011)

Wozu die while-Schleife?
Und wozu +2? Fang die for-Schleife doch einfach bei 2 an.
Da wo jetzt die Ausgabe steht, musst du die Zahlen einfach aufsummieren: 
	
	
	
	





```
summe = summe + neueZahl;
```


----------



## Alexiios (27. Nov 2011)

ich hätte das jetzt einfach mit einer if-schleife gemacht....

```
public static void main(String[] args) {
		int merke = 0;
        int z = 8;
        
        for(int h = 0; h<=z; h++){
            if(h %2 == 0){
                    merke += h;
            }
	}
        System.out.println(merke);

}
```


----------



## modolo (27. Nov 2011)

Ja super, so läuft das.
Vielen, vielen Dank


----------



## faetzminator (27. Nov 2011)

if-schleife.de!
Aber ja, einfach immer um eins addieren und mit Modulo überprüfen, oder immer um zwei addieren (beginnend mit einer geraden Zahl).


----------



## modolo (27. Nov 2011)

Eine Sache würde ich gerne doch nochmal hinterfragen.

Habe jetzt mit dem Quellcode noch ein bisschen gespielt und getestet.
Aber warum "+=" bei merke?

[Java]
int merke = 0;
		int z = 5;
		System.out.println("Die Summe aus: ");
		for(int h = 1; h<=z; h++){
			while(h %2 == 0){
				merke += h;
				System.out.print (h +" "  );
				break;
			}
		}
		System.out.println("\n" +"ergibt: ");
		System.out.println(merke);
[/Java]


----------



## modolo (27. Nov 2011)

Korrekt? Es ist das Zusammenzählen aller h´s die ausgegeben werden und kleiner sind als z?
Deswegen +=?!?!


----------



## njans (27. Nov 2011)

merke += irgendwas 
ist das Gleich wie:
merke = merke + irgendwas


----------

