Wie kann ich jedes zweite Array Wert ausgeben lassen??

hacon

Mitglied
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:

Java:
    for (int i = 0; i < autos.length; i++) {
      if (i / 2 == 0) {
        System.out.println(i);
      }
    }
 
> 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?
 
Java:
    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.

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();
  }
}
 
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' 😉
 

Neue Themen


Zurück
Oben