static double[] werte;
.)return werte;
, innerhalb der main Methode kannst Du diese Rückgabe in einer lokalen Variablen speichern und diese dann bei der anderen Methode übergeben.Oke danke schonmal für die Tipps, aber durch dasDa geht so erst einmal nicht. Eine lokale Variable ist nur innerhalb des Blocks nutzbar.
Was Du aber machen kannst:
- Statt einer lokalen Variable könntest Du eine Klassenvariable nutzen. (Also direkt in der Klasse selbst die Variable deklarieren:
static double[] werte;
.)- Du kannst die Referenz zu rück geben. Eingabe gibt also double[] zurück und Du hast dann ein
return werte;
, innerhalb der main Methode kannst Du diese Rückgabe in einer lokalen Variablen speichern und diese dann bei der anderen Methode übergeben.
An der Stelle noch zwei Hinweise:
a) Versuch bitte, Code in Code Tags (Den Knopf </> oberhalb des Eingabefelds!) zu posten.
b) Methoden sollten immer klein anfangen und verben nutzen. Also wäre Methodennamen wieeingabeAbfragen und minimumAusgeben oder so ähnlich besser.
return werte;
gibt er mir ja dann einen Fehler aus, das die Methode kein double Array zurückgibt, oder?Aber wieso wird nicht erkannt das werte ein Array ist? stehe grad auf dem schlauchDas musst du natürlich anpassen.
public class ArrayUtil {
static double[] werte;
public static double[] Eingabe() {
BufferedReader in = new BufferedReader (new InputStreamReader(System.in));
try {
System.out.println("Geben Sie eine Anzahl an: ");
String s = in.readLine();
int anzahl = Integer.parseInt(s);
werte = new double[anzahl];
System.out.println("Geben sie " + anzahl + " Werte ein");
for (int i=0; i<=werte.length - 1;i++) {
String s2 = in.readLine();
werte[i] = Double.parseDouble(s2);
}
System.out.println(Arrays.toString(werte));
return werte;
}