Array einlesen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Du scheiterst jedenfalls nicht am Array.

Zuerst einmal brauchst du eine Klasse und eine Methode, in der der Code stehen kann. Ich nutze für deinen Fall einfach einmal die main-Methode.

import java.util.Scanner;

public class ComputeAverage {
  public static void main(String[] args) {
    /* your code ... */
  }
}

Der Import wird vor der Klasse gelistet. Die Klasse (ich nenne sie hier ComputeAverage) muss genauso heißen, wie deine Java-Datei (also ComputeAverage.java).

Die main-Methode stellt den Einstiegspunkt für eine Java-Anwendung dar. Im Gegensatz zur Klasse hast du keine Freiheit darin, wie du sie benennst.

Bei deinen Anweisungen fehlen am Ende der Zeile stets die Semikolons. Wenn du die ergänzt hast, und bei deiner Variable in der Schleife noch das fehlende n ergänzt, ist dein Programm syntaktisch fehlerfrei.

Für den Abbruch nach Eingabe von 2 brauchst du noch eine Abfrage (if) innerhalb der Schleife (War die Eingabe 2? Wenn ja, brich ab mit break, ansonsten nicht). Nach der Schleife kann die Rechnung erfolgen.

Allerdings ist das mit einem Array etwas umständlich. Berechne doch stattdessen die Summe und zähle die Eingaben mit. Als Schleife könntest du while verwenden.

Pseudocode:

sum = 0
count = 0

while true:
  input = readInput()

  if input == 2:
    break

  sum += input
  count += 1

# calculate average ...     

Helmut2097 
Beitragsersteller
 15.01.2021, 18:53

Vielen Dank für die kurze Einführung und die Hilfestellung :)

Ich werde es mal so versuchen und hoffe es klappt dann besser.

0

In der Schleife fehlt dir bei "eingaben" das 'n'. Ausserdem Fehlen zwei Strichpunkte.

So sollte es passen:

import java.util.Scanner;

System.out.print("Gib Zahlen ein, zum Beenden gib 2 ein: ");

double[] eingaben = new double[6];
Scanner sc = new Scanner(System.in);

for (int i = 0; i < eingaben.length ; i++){
  eingaben[i] = sc.nextDouble();
}

So gibst du es aus:

for (int i = 0; i < eingaben.length ; i++){ //Hier wird über das Array iteriert, wie beim Einlesen vorhin auch
  System.out.println(eingaben[i]); //Die Zahl der jeweiligen Stelle ausgeben
}
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

MrAmazing2  15.01.2021, 18:38

Natürlich fehlt bei dir noch der Code für die Klasse und die main-Methode. Ich dachte du hättest das Code-Stück einfach in der Frage weggelassen, um sie die Frage übersichtlicher zu gestalten. Vermutlich hat aber @regex9 recht, und du hast den Teil vergessen.

0
MrAmazing2  15.01.2021, 18:34

Gutefrage bietet übrigens die Möglichkeit, Code zu formatieren. Wie beispielsweise in meiner Antwort.

Markiere dazu den Code-Text, klick dann rechts oben vom Text-Feld auf das Quelltext-Symbol ( </> ). Falls das noch nicht vorhanden ist, musst du es erst per Klick auf die drei Punkte ( ... ) einblenden.

1