# Programm zur Berechnung von Summe, Median, Erwartungswert, usw von einem Array



## gelbeBanane (22. Jan 2010)

Hallo,
ich bin neu hier. Ich sitze seit einiger Zeit an einem Programm bei dem ich nicht mehr weiter weiß und erhoffe hier im Forum ein paar freundliche Denkanstöße zu erhalten.

Erstmal zur Aufgabe: Wir sollen ein Programm schreiben, welches folgendes kann:
1)  Ein Array soll mit int-Zufallszahlen gefüllt werden. Dabei soll der Benutzer am Anfang folgende Eingaben machen: 1. Länge des Arrays ; 2. kleinste mögliche Zufallszahl und 3. größte mögliche Zufallszahl.

2) nach diesen Eingaben sollen die Zufallszahlen erzeugt werden und nacheinander folgende mit Hilfe von Methodenköpfen berechnet und ausgegeben werden:
1. Summe der Werte
2. der arithmetische Durchschnitt
3. der Median
4. den Erwartungswert
5. die Varianz
6. die Standardabweichung


So, Problem gelöst. Danke! --> den Programmcode habe ich entfernt für den Fall dass den sonst jemand kopiert. Ist schonmal vorgekommen und dann gibt es für alle beteiligten 0 Punkte. nicht schön


----------



## faetzminator (22. Jan 2010)

gelbeBanane hat gesagt.:


> Angefangen damit dass ich im Hauptprogramm den Variablen nicht die Werte der im Unterprogramm berechneten Ergebnisse zuweisen kann? Woran liegt das bzw. was muss ich tun damit das funktioniert?



Wie kommst du denn darauf? Hast du dir schon das Array ausgeben lassen? Warum verwendest du in [c]calculateStdDeviation()[/c] nicht den Parameter [c]variance[/c]?
Anstatt [c]for(i = 0; i <= num.length-1; i++)[/c] kann man einfacher [c]for(i = 0; i < num.length; i++)[/c] schreiben.


----------



## gelbeBanane (22. Jan 2010)

Hallo, danke für die schnelle Antwort

Also darauf dass da etwas nicht stimmen kann bin ich gekommen, weil mein tolles Programm (eclipse) bei der Ausführung des Programms folgende Fehler ausgibt:

Exception in thread "main" java.lang.NullPointerException
	at grundlagenuebungen.Statistics.calculateSum(Statistics.java:68)
	at grundlagenuebungen.Statistics.calculateVariance(Statistics.java:105)
	at grundlagenuebungen.Statistics.calculateStdDeviation(Statistics.java:111)
	at grundlagenuebungen.Statistics.main(Statistics.java:50) --> da ist zum Beispiel die Wertzuweisung wohl falsch....


Das Array selber habe ich noch nicht ausgeben lassen. Muss ich das denn? oder soll das der Überprüfung dienen ob dieser Programmteil (besetzen des Arrays mit Zufallsvariablen) funktioniert?


Die Methodenköpfe sind vorgegeben.


----------



## System.exit(0) (22. Jan 2010)

Hallo,

Was genau funktioniert denn nicht?
Mach doch mal ein paar System.outs in deinen Code, um zu überprüfen, ob:

- dem Array überhaupt Zahlen zugewiesen werden
- die Funktionen die korrekten Werte berechnen
- nach der Funktion die Werte auch in der Variablen angekommen sind

Gruß

System.exit(0)

Nachtrag: Formatier bitte den Code mit JAVA =Zeilennummer so, dass die Zeile 68 aus deiner Fehlermeldung auch die Zeile 68 im Beispiel ist.


----------



## Atze (22. Jan 2010)

so auf den ersten blick würde ich ja auf zeile 111 tippen 

```
Double d = calculateVariance(null, 0);
```

wenn du null übergibst und dann damit berechnungen durchführen willst, ist es klar, dass es dann eine nullpointer gibt


----------



## gelbeBanane (22. Jan 2010)

so, also das Problem liegt bei der Berechnung... hmmm


----------



## Atze (22. Jan 2010)

ob deine berechnungen stimmen weiß ich nicht, das hab ich mir nicht angeschaut. cih weiß nur, dass du null übergibst und er dann rausfliegt


----------



## gelbeBanane (22. Jan 2010)

Ja danke, das Problem habe ich inzwischen gelöst und das Programm funktioniert jetzt einwandfrei ^^. Herrlich. 

Nochmal vielen Dank für die Hilfe hier im Forum.


----------

