Array: Summe aller geraden und ungeraden Zahlen ermitteln

Lestas89

Bekanntes Mitglied
Ich möchte in einem Array der Länge 100 die Summe aller geraden und ungeraden Zahlen ermitteln.

Meine Idee bisher: Es mit einer if Bedingung zu versuchen, aber ich komme nicht weiter:
Java:
public class Programm2{
   public static void main(String[]args){
  
     int [] feld = new int [100];
     for(int i = 0; i < feld.length; i++){
       feld[i] = (int) (Math.random()*9)+1;
     }
    
     for(int i = 0; i < feld.length; i++){
     if(feld[i] % 2 == 0)
      
    
     }
   }
}

Wie kann ich das bewerkstelligen?
 
Zuletzt bearbeitet von einem Moderator:
Du brauchst zwei ints für die Summe der geraden und der ungeraden Zahlen.

Dann: Falls feld%2== 0 -> summeGerade += feld am Index i
Sonst: summeUngerade += feld am Index i
 
Java:
public static void main(String[] args) {
        int sumEven = 0;
        int sumOdd = 0;
        int[] feld = new int[100];
        for (int i = 0; i < feld.length; i++) {
            feld[i] = (int) (Math.random() * 9) + 1;
        }

        for (int i = 0; i < feld.length; i++) {
            if (feld[i] % 2 == 0) {
                sumEven += feld[i];
            } else {
                sumOdd += feld[i];
            }

        }
        System.out.println("Summe ungerader Zahlen:\t"+ sumOdd +"\nSumme gerader Zahlen:\t" + sumEven);
    }

Naja du brauchst ja nur einen Zwischenspeicher. Du durchläufst das Array und hast einen Zähler für die Summe der ungeraden und geraden Zahlen.

Falls eine Zahl ungerade ist addierst du sie also zu der Summe der ungeraden Zahlen und andersrum genauso.
 
Du warst nun schneller als ich. Ist mein Ansatz bisher richtig?
Java:
public class Programm2{
   public static void main(String[]args){

     int ungerade;
     int sumgerade = 0;
     int [] feld = new int [100];
     for(int i = 0; i < feld.length; i++){
       feld[i] = (int) (Math.random()*9)+1;
     }  
    
     for(int i = 0; i < feld.length; i++){
       if(feld[i] % 2 == 0){
         for(int gerade = 0; gerade <feld.length;gerade++){
         sumgerade+= (feld[gerade]%2);
       }  
      
       }
      
      
     }  
       System.out.println(sumgerade);
   }
}
 
Zuletzt bearbeitet von einem Moderator:
Wozu soll die 2. for-s Schleife dienen?

Du brauchst nur eine for-Schleife mit der du das Array durchläufst und eine if-Abfrage zum richtigen aufaddieren.
 
Ich hab das nun auch so gemacht, allerdings ist die Summe der Geraden und Ungeraden Zahlen falsch wenn ich das nachzähle. Hab ich irgendwo ein Fehler gemacht?
Java:
public class Programm2{
   public static void main(String[]args){
     int summegerade = 0;
     int summeungerade = 0;
     int [] feld = new int [5];
     for(int i = 0; i < feld.length; i++){
       feld[i] = (int) (Math.random()*9)+1;
       System.out.print(feld[i]);
     }
    
     for(int i = 0; i < feld.length; i++){
       if(i % 2 == 0){
       summegerade += feld[i];
       }else{
       summeungerade += feld[i];
       }
     }
     System.out.println();
     System.out.println();
     System.out.println("Summe aller gerader Zahlen:" + summegerade + ".\nSumme aller ungerader Zahlen"+ summeungerade +".");
   }
}
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben