Hallo,
würde gerne ein Programm schreiben, welches die Standardabweichung und den Mittewert von n Messwerten berechnet. Das ganze soll so ablaufen, dass der User am Anfang die Messwertsanzahl angibt und daraufhin seine Messwerte eingelesen werden sollen. Habe das ganze schonmal in C geschrieben gehabt und da war es kein Problem, doch hier komme ich einfach nicht klar.
Was mir nicht klar ist, wie genau ich
1. Werte in ein Array speichere.
2. Wie ich Zahlen einlese.
3. Wie der richtige Datentyp eingehalten wird.
In C ist das so einfach per scanf zu machen, aber hier in java scheint es ja mehrere Methoden dafür zu geben. Ich hoffe man verzieht mir meine Unwissenheit.
Vielen Dank!
MfG
würde gerne ein Programm schreiben, welches die Standardabweichung und den Mittewert von n Messwerten berechnet. Das ganze soll so ablaufen, dass der User am Anfang die Messwertsanzahl angibt und daraufhin seine Messwerte eingelesen werden sollen. Habe das ganze schonmal in C geschrieben gehabt und da war es kein Problem, doch hier komme ich einfach nicht klar.
Code:
import java.io.*;
public class Messwerte
{
public static void main (String[] args)
{
int i = 10;
String s;
float n = 0;
float my = 0;
float sigma = 0;
float std1 = 0;
float summe = 0;
float min = 0;
float max = 0;
float [] werte;
BufferedReader manz = new BufferedReader(new InputStreamReader(System.in));
BufferedReader mess = new BufferedReader(new InputStreamReader(System.in));
/*Messwertsanzahl*/
System.out.print("Messwertsanzahl: ");
try {
s = manz.readLine();
} catch (IOException e) {s = "0";};
/*Messwerte*/
do {
System.out.println("Messwert: ");
try {
n = mess.readLine();
} catch (IOException e) {n = "0";};
}while(i != s);
/**
/*Mittelwert*/
for(i = 0; i < n; i++)
{
my = my + werte[i];
}
my = my / n;
/*Standardabweichung*/
for(i = 0; i < n; i++)
std1 = std1 + (werte[i]-my)*(werte[i]-my);
sigma = sqrt(std1 / (n - 1));
/*Minimalwert*/
/*Maximalwert*/
System.out.println("Mittelwert:" +my);
System.out.println("Standardabweichung:" +sigma);
System.out.println("Minimalwert:" +min);
System.out.println("Maximalwert:" +max);
**/
}
}
Was mir nicht klar ist, wie genau ich
1. Werte in ein Array speichere.
2. Wie ich Zahlen einlese.
3. Wie der richtige Datentyp eingehalten wird.
In C ist das so einfach per scanf zu machen, aber hier in java scheint es ja mehrere Methoden dafür zu geben. Ich hoffe man verzieht mir meine Unwissenheit.
Vielen Dank!
MfG