D
Danjo
Gast
Hallo, ich hätte mal eine Anfängerfrage. Ich hab hier eine Methode bzw. eine Klasse und die tut an sich auch was sie soll. Wie man sieht initialisiere ich in der main methode ein array a, das dann mit der Methode medoid ausgewertet wird.
Ich würd das array jetzt aber gerne nicht in der main methode sondern über die commando zeile initialisieren.
Ich weis , dass geht irgendwie , indem man a=args[] setzt oder so. Aber ich komm da nicht wirklich weiter. Könnte mir vielleicht jemand sagen, wie ich so ein array mittels commandozeile eingebe ?
Ich würd das array jetzt aber gerne nicht in der main methode sondern über die commando zeile initialisieren.
Ich weis , dass geht irgendwie , indem man a=args[] setzt oder so. Aber ich komm da nicht wirklich weiter. Könnte mir vielleicht jemand sagen, wie ich so ein array mittels commandozeile eingebe ?
Code:
public class Medoid {
public static double medoid(double[] a){
double summe = 0.0;
for(int i =0; i< a.length; i++){
summe = summe + a[i];
}
double ergebnis = 0.0 ;
double mittelwert = summe / a.length;
double min = Math.abs(a[0]-mittelwert);
/* Hier wird nun der zum Mittelwert amnächsten liegende double Wert
* des Arrays ausgegeben. double min ist hierbei der geringste Abstand
* zumMittelwert.
*/
for(int i =0;i<a.length; i++){
if(min>Math.abs(a[i]-mittelwert)){
min = Math.abs(a[i]-mittelwert);
ergebnis = a[i];
}
}
return ergebnis;
}
public static void main(String[] args){
double[] a = {2.4,5.1,7,4,14.0,8};
System.out.println(medoid(a));
}
}