Mittelwert berechnen

C

chris1985

Gast
Hallo,

folgende Hausaufgabe (Uni) muss ich bearbeiten: Ich soll ein Programm schreiben, mit dem man den Mittelwert aus eingegebenen Werten berechnet. Die Anzahl der Laufzeitargumente ist nicht festgelegt. Folgenden Code habe ich bisher geschrieben:


Java:
  1 import java.util.Arrays;
  2
  3 public class Mittelwert {
  4
  5   public static long mittelwert(long[] zahlen) {
  6     long summe = 0;
  7     int zaehler = 0;
  8     for(int p = 0; p < zahlen.length; p++){
  9         summe = summe + zahlen[p];
 10         zaehler ++;
 11     }
 12   long ausgabe = summe / zaehler;
 13   return ausgabe;
 14   }
 15
 16   public static void main(String[] args) {
 17         long zahlen[];
 18         for(int i = 0; i < args.length; i++){
 19         zahlen[i] = Integer.parseInt(args[i]);
 20         }
 21
 22         System.out.println("Der Mittelwert von " + Arrays.toString(zahlen)
 23         + " ist: " + mittelwert(zahlen));
 24   }
 25
 26 }

Allerdings gibt der Compiler bei Zeile 19 und 22 einen Fehler aus:
Mittelwert.java:19: variable zahlen might not have been initialized
zahlen = Integer.parseInt(args);
^
Mittelwert.java:22: variable zahlen might not have been initialized
System.out.println("Der Mittelwert von " + Arrays.toString(zahlen)

Woran liegt das? Ich habe doch zahlen[] schon initialisiert? (Zeile 17)

Danke vorab für die Hilfe!

Liebe Grüße

Christian
 

eRaaaa

Top Contributor
Ne du hast deklariert!
[c]long zahlen[] = new long[args.length];[/c]

Wieso eig. long? Du wirst so nie Kommazahlen erreichen können ;)
 

Landei

Top Contributor
Soll der Mittelwert wirklich ein long sein? Dann wäre der Mittelwert von 2 und 3 gleich 2, und nicht 2.5

Außerdem ist deine zaehler-Variable überflüssig, am Ende ist sie sowieso immer gleich der Array-Länge.

Den Index p verwendest du nicht innerhalb der Schleife, da kannst du auch die for-Schleifen-Kurzform mit : verwenden (falls ihr das schon hattet).

Um etwas zu einem Wert hinzuzurechenen, gibt es den Operator +=

Java:
   public static double mittelwert(long[] zahlen) {
      long summe = 0;
      for(long value : zahlen){
         summe += value;
      }
      return 1.0 * summe / zahlen.length;
  }
 
C

chris1985

Gast
Hallo zusammen,

erst mal danke für die Antworten. Das Programm funktioniert! ;-)

Ja, laut Vorgabe sollen die Argumente Long sein, Kommawerte sollen entsprechend abgeschnitten werden.

Die Kurzform hatten wir noch nicht, aber danke für den Tipp! Ist echt einfacher!

Nur eine Frage habe ich noch. Das mit dem new habe ich zwar eingebaut, verstehe aber nicht, was das bewirkt. Aus meinen Unterlagen wurde ich auch nicht schlauer. ;-)

Liebe Grüße

Christian
 

Landei

Top Contributor
Im Prinzip ganz simpel: [c]long zahlen[];[/c] sagt nur, dass zahlen eine Referenz auf ein long-Array ist (das ist eine "Deklaration"). Das Array selbst gibt es noch gar nicht (woher soll man an dieser Stelle z.B. wissen, wie lang es sein soll). Also muss man zahlen ein neues ("new") Array zuweisen, was man praktischerweise in der gleichen Zeile erledigen kann, wie eraaaa gezeigt hat (das wäre dann eine "Definition"). So ein neues Array hat dann eine feste Länge und ist bei Zahlen mit 0, bei booleans mit false, bei chars mir '\0' und bei Objekten mit null vorbelegt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Mittelwert Arrayelemente berechnen Fehler Java Basics - Anfänger-Themen 5
J Variablen arithmetischen Mittelwert berechnen Java Basics - Anfänger-Themen 5
M Erste Schritte Mittelwert berechnen -> Methode in der Methode? Java Basics - Anfänger-Themen 14
G Array Mittelwert berechnen, wie? Java Basics - Anfänger-Themen 8
V Mittelwert berechnen Java Basics - Anfänger-Themen 31
M Maximum, Minimum und Mittelwert berechnen Java Basics - Anfänger-Themen 25
G Erste Schritte Array Mittelwert Methode Programmieren Java Basics - Anfänger-Themen 5
P Erste Schritte Mittelwert zeitlich abhängiger Werte Java Basics - Anfänger-Themen 1
R Werte aus Array addieren und Mittelwert bilden Java Basics - Anfänger-Themen 2
M Methoden Mittelwert rationaler Zahlen mittels Methode Java Basics - Anfänger-Themen 4
F Gewichteter Mittelwert über eine Zeitperiode Java Basics - Anfänger-Themen 3
N Erste Schritte Mittelwert in Array Java Basics - Anfänger-Themen 4
P Mittelwert rekursiv Java Basics - Anfänger-Themen 13
L Brauch Mittelwert jeweils 3 Zahlen die durch 20 Wiederholungen geteilt werden Java Basics - Anfänger-Themen 17
G Mittelwert Java Basics - Anfänger-Themen 31
K Frage wegen Mittelwert Java Basics - Anfänger-Themen 32
B Notenauswertung: Einlesen der Anzahl, Bildung Mittelwert Java Basics - Anfänger-Themen 8
P Mittelwert, Datei einlesen. ich verzweifle Java Basics - Anfänger-Themen 3
N Mittelwert (fast fertig, nur noch 2 fehler ;-) ) Java Basics - Anfänger-Themen 14
M Programm soll n Zahlen von der Tastatur lesen(Mittelwert) Java Basics - Anfänger-Themen 8
B Volatility berechnen Java Basics - Anfänger-Themen 4
P Medaillen Spiegel der Wander Teilnahmen berechnen. Java Basics - Anfänger-Themen 3
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
laxla123 Quersumme berechnen Java Basics - Anfänger-Themen 1
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
S Vollmond berechnen und ausgeben Java Basics - Anfänger-Themen 12
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
A Berechnen Moor Nachbarschaft Java Basics - Anfänger-Themen 5
E Geburtstag im Schaltjahr berechnen Java Basics - Anfänger-Themen 24
Lion.King Schaltjahr berechnen Java Basics - Anfänger-Themen 31
E Alter (Laufzeit) berechnen Java Basics - Anfänger-Themen 11
I Zuschläge berechnen Java Basics - Anfänger-Themen 15
L mit Fakultät mathematische Formel berechnen Java Basics - Anfänger-Themen 5
TanTanIsTrying Durschnitt berechnen von eingegebener Zahl bis 1 heruntergezählt Java Basics - Anfänger-Themen 9
L Präfix berechnen Java Basics - Anfänger-Themen 33
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
Poppigescorn Quersumme Berechnen mit einer While Schleife Java Basics - Anfänger-Themen 13
I Potenz berechnen mit for-Schleife Java Basics - Anfänger-Themen 3
A Standardabweichung in Java berechnen Java Basics - Anfänger-Themen 10
H Gesamtabweichung mit Array berechnen Java Basics - Anfänger-Themen 2
G Java Rabatt berechnen Java Basics - Anfänger-Themen 8
V Rückgeld berechnen Java Basics - Anfänger-Themen 6
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
Ianatrix Zahlen von a bis b berechnen Java Basics - Anfänger-Themen 7
L Max, min, Summe und Durchschnitt berechnen Java Basics - Anfänger-Themen 4
L Anhalteweg berechnen Java Basics - Anfänger-Themen 6
Aeon Erste Schritte Preise berechnen mit do-while Java Basics - Anfänger-Themen 9
M Quadratwurzel berechnen Java Basics - Anfänger-Themen 8
V Wachstum berechnen und in Ist-Formel verwenden Java Basics - Anfänger-Themen 5
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Abschreibungsplan berechnen Java Basics - Anfänger-Themen 23
V Gehalt berechnen in Java Java Basics - Anfänger-Themen 6
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
J Array Speicherplatz berechnen Java Basics - Anfänger-Themen 35
H Eingabedaten berechnen Java Basics - Anfänger-Themen 9
B Tranportkosten berechnen mit unterschiedlichen MwSt Java Basics - Anfänger-Themen 9
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
V Erste Schritte Berechnen von Sinus; sin(x) ohne Math.* Java Basics - Anfänger-Themen 1
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
N Ein Datum berechnen Java Basics - Anfänger-Themen 3
T Sparplan berechnen Java Basics - Anfänger-Themen 4
F Abstand zum Durchschnitt von 5 Zahlen berechnen... Java Basics - Anfänger-Themen 16
B java.util.Date berechnen Java Basics - Anfänger-Themen 11
CptK Best Practice Schussparabel berechnen Java Basics - Anfänger-Themen 3
T Modulo / Pow berechnen Java Basics - Anfänger-Themen 4
E Statistische Kennzahlen berechnen Java Basics - Anfänger-Themen 2
F Switch Case Modulo berechnen Java Basics - Anfänger-Themen 12
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
C Preis berechnen mit Java Java Basics - Anfänger-Themen 4
B Zahl in String abspeichern und später berechnen Java Basics - Anfänger-Themen 15
N Best Practice Image recognition fuzzy Superhash berechnen Java Basics - Anfänger-Themen 1
Dawinartor Erste Schritte Schaltjahr berechnen Java Basics - Anfänger-Themen 1
L Pi berechnen Java Basics - Anfänger-Themen 1
CptK Term (als String) berechnen und ausgeben Java Basics - Anfänger-Themen 10
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
K Matrixen berechnen nach Worker Master Paradigma mit Threads Java Basics - Anfänger-Themen 4
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
I Schnittpunkt zweier Geraden berechnen Java Basics - Anfänger-Themen 25
S Compiler-Fehler Schaltjahr berechnen Java Basics - Anfänger-Themen 5
B Fakultätsfunktion Rekursiv Berechnen aber mit Array Java Basics - Anfänger-Themen 10
S Durchschnitt berechnen aus zwei Textfeldern Java Basics - Anfänger-Themen 21
D Summe berechnen mit verändertem Wert aus Schleife Java Basics - Anfänger-Themen 1
R Liga Berechnen Java Basics - Anfänger-Themen 1
P Klassen Berechnen mehrerer Map-Werte Java Basics - Anfänger-Themen 13
R Fussballtabellen berechnen Java Basics - Anfänger-Themen 12
J Fibonacci -Folge rekursiv berechnen Java Basics - Anfänger-Themen 18
J Durchschnitt jeder Zeile und und Spalte in einem 2D Arrays berechnen Java Basics - Anfänger-Themen 6
F ISBN Prüfziffer berechnen Java Basics - Anfänger-Themen 17
F Die Teilersumme einer Eingabe berechnen Java Basics - Anfänger-Themen 11
S Negafibonacci Folge berechnen Java Basics - Anfänger-Themen 24
S Primzahlen berechnen funktioniert nicht richtig Java Basics - Anfänger-Themen 1
N Mit LocalDate alter berechnen Java Basics - Anfänger-Themen 3
J Laufzeit berechnen/Laufzeitanalyse Java Basics - Anfänger-Themen 2
N Arrays mit Zufallzahlen füllen und Statistiken berechnen Java Basics - Anfänger-Themen 5
A Wochentag berechnen Java Basics - Anfänger-Themen 10
Ste3et_C0st Vectoren berechnen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben