Array - for-Schleife, Ausgabe gerader Zahlen und dann komm die 69 mit

Ballastt

Mitglied
Java:
int [] numbers = {4, 643, 112, 9999, 69};
int sumOdd = 0; //der Teil kommt erst

for (int i = 0; i < numbers.length; i++) { 
    if (i % 2 == 0) {
System.out.println(numbers[i]);
    }
Wenn ich den Code ausgeben lasse, krieg ich 4 (logo), 112 (auch logo), aber auch die 69. Sag ich nicht mit der if-condition, sei gefälligst eine gerade Zahl? Warum kommt die 69 da mit rein? liegt es daran, dass Java hier aufrundet, weil 69 nur eine Kommastelle nach der Teilung hat? wenn ich nämlich in der for-Schleife, die Bedingungen überprüfe und length -1 eingebe, gibt es mir die 69 nicht aus. Aber das kann ja nicht die Lösung sein. Thoughts?
 
Zuletzt bearbeitet von einem Moderator:

LimDul

Top Contributor
DIe Zahlen im Array werden gar nicht betrachtet. Du überprüfst ob i - der index durch 2 teilbar ist. Das heißt, du bekommst die Zahlen die an Index 0, 2 und 4 stehen - egal was da steht.

PS - wenn du Code-Tags verwendest, wird der Code lesbarer.
 

KonradN

Super-Moderator
Mitarbeiter
Das ist halt das Problem, wenn man Code nicht als Code postet.

Am einfachsten geht es über den Knopf </> links oberhalb des Eingabebereichs. Denn das [i] ist eine Anweisung im Forum-Text, dass man kursiven Text haben möchte ...
 

Ballastt

Mitglied
Java:
int [] numbers = {4, 643, 112, 9999, 69};

        int sumOdd = 0;

        for (int i = 0; i < numbers.length; i++) {

            if (numbers[i] % 2 == 0) {
                System.out.println(numbers[i]);
            } else {
                sumOdd += numbers[i];
            }
        }


            System.out.println("SUM " + sumOdd);

übung geschafft! danke M.L.!!!
 

Neue Themen


Oben