# Wie kann ich jedes zweite Array Wert ausgeben lassen??



## hacon (2. Jan 2012)

Guten Abend Programmierer,

wie kann ich jeden zweiten Array Wert ausgeben lassen?

das soll mit Modulo funktionieren, aber wie?

(nehmen wir an, man soll 5 Werte eingeben und jedes zweite soll angezeigt werden)

Für (i=0; i kleiner die Länge des Arrays; i++) {
           Wenn Rest von i/2 =0, Wert  ausgeben          
}

und das ist min Code:


```
for (int i = 0; i < autos.length; i++) {
      if (i / 2 == 0) {
        System.out.println(i);
      }
    }
```


----------



## bygones (2. Jan 2012)

[c]i % 2 == 0[/c]
oder in der schleife [c]; i+=2) { [/c]


----------



## DummerBauer (2. Jan 2012)

Versuch es doch so:

```
for(int i=0;i<autos.length;i=i+1)
```


----------



## SlaterB (2. Jan 2012)

> das soll mit Modulo funktionieren, aber wie?

genau, mit modulo, kennst du das entsprechende Zeichen? möchtest du nicht irgendetwas dazu mal ausprobieren,
etwa i % 2? upps das war ja schon die Lösung 

und dann nicht i ausgeben sondern array_ oder?_


----------



## hacon (2. Jan 2012)

```
for (int i = 0; i < autos.length; i++) {
      if (i % 2 == 0) {
        System.out.println(autos[i]);
      }
    }
```

das habe ich jetzt geschrieben und das Programm zeigt mir den ersten, dritten, fünften..... Wert.

nicht jeden zweiten 

tut mir leid programmiere relativ neu mit java.


```
import java.util.Scanner;

public class Aufg {
  private static Scanner kbd = new Scanner (System.in);
  private static double[] autos = new double[4];


  public static void main (String [] args) {
    char wahl;
    int beliebig;
    do {
      System.out.println("----------------------");
      System.out.println("Menue \n");
      System.out.println("1 - Neue Zahl eingeben \n");
      System.out.println("2 - Aktuelle Zahlen ausgeben \n");
      System.out.println("3 - Summe berechnen \n");
      System.out.println("4 - Durchschnitt \n");
      System.out.println("5 - Alle geraden Zahlen \n");
      System.out.println("6 - Jede zweite Zahl \n");
      System.out.println("7 - ENDE \n");
      System.out.println("----------------------");
      wahl = kbd.nextLine().charAt(0);
      switch (wahl) {
        case '1' : neueZahlen(); break;
        case '2' : ausgabe(); break;
        case '3' : summe(); break;
        case '4' : durchschnitt(); break;
        case '5' : geradeZahlen(); break;
        case '6' : zweiterWert(); break;
        case '7' : System.out.println("\n Das Programm wird beendet..."); return;
        default : System.out.println("Achten Sie bitte auf das Menue und geben Sie richtige Werte ein \n");

      }
    }while (true);

  }


  public static void neueZahlen() {
    System.out.print("Geben Sie beliebig viele Zahlen ein ");
    int beliebig = kbd.nextInt();
    System.out.println("----------------------");
    autos = new double[beliebig];

    for (int i = 0; i < beliebig; i++) {
      System.out.print("Bitte die " +(i + 1) + ". Zahl eingeben ");
      autos[i] = Aufg.kbd.nextDouble();
      
    }

    kbd.nextLine();
    System.out.println("Weiter mit ENTER...");
    Aufg.kbd.nextLine();
  }

  
  public static void ausgabe() {
    System.out.println("Das sind die Zahlen, die Sie eingegeben haben: ");
    for (int i = 0; i < autos.length; i++) {
      System.out.println((i + 1) + ": " + autos[i]);
    }
      System.out.println("Weiter mit ENTER...");
      Aufg.kbd.nextLine();
  }
  
  public static void summe() {
    double summe = 0;
    for (int i = 0; i < autos.length; i++) {
      summe  += autos[i];
    }

    System.out.print("\nDie Summe der eingegebenen Zahlen lautet: ");
    System.out.println(summe);
    
    System.out.println("Weiter mit ENTER...");
    Aufg.kbd.nextLine();
  }
  
  public static void durchschnitt() {
    System.out.println("Der Durchschnitt der eingegebenen Zahlen");
    double sum = 0, durchschnitt = 0;
    for (int i = 0; i < autos.length; i++) {
      sum += autos[i];
    }
    durchschnitt = sum / autos.length;
    System.out.println(durchschnitt);
    System.out.println("Weiter mit ENTER...");
    Aufg.kbd.nextLine();
  }
  public static void geradeZahlen() {
    System.out.println("Die Ausgabe aller geraden Zahlen: \n");
    for (int i = 0; i < autos.length; i++) {

      double gerade = autos[i] % 2;
      if (gerade == 0) {
        System.out.println(autos[i]);
      }
    }
    System.out.println("Weiter mit ENTER...");
    Aufg.kbd.nextLine();
  }
  
  public static void zweiterWert() {
    for (int i = 0; i < autos.length; i++) {
      if (i % 2 == 0) {
        System.out.println(autos[i]);
      }
    }
    System.out.println("Weiter mit ENTER...");
    Aufg.kbd.nextLine();
  }
}
```


----------



## SlaterB (2. Jan 2012)

der erste, dritte, fünfte Wert ist nicht jeder zweite? was denn dann, der zweite, vierte, sechste Wert?
dann eben
 if (i % 2 == 1) {

> tut mir leid programmiere relativ neu mit java.

Vorsicht, bei so einfachen Aufgaben hat das eigentlich weniger mit Java zu tun, man könnte das umdeuten in
'bin relativ neu im klaren Denken'


----------



## hacon (2. Jan 2012)

ja habe das mit Modulo nicht kapiert. jetzt ist es aber OK danke an Alle!!!


----------

