Methoden Problem bei der Übergabe von Variablen

KUP

Neues Mitglied
Hallo liebes Forum!
Ich bin neu hier, Einsteiger in Java und gerade dabei eine an einer Aufgabe herum zu basteln.
Dabei kommt es immer wieder zu Fehlermeldungen bezüglich des return-Formats.

Folgendes Progrämmlein liegt vor:

Java:
import java.util.Scanner;

//array - Fünf zahlen eingeben	- Durchschnitt berechnen  - double zurück geben

public class Versuche {
	public static void main (String args[]){
		
		double durchschnitt=0;
		double summe=0;
		
		System.out.println("Gib die Anzahl der Zahlen ein:");
		Scanner s = new Scanner(System.in);
		int z1 = s.nextInt();
		
		summe = berechne(z1);
	
		durchschnitt = summe/z1;
		System.out.println("Der Durchschnitt der "+z1+" Zahlen beträgt: "+durchschnitt);
		
	}
	
	private static double berechne(int z2){			
			int[] z = new int [z2];
			double a=0,v=0;
			Scanner s = new Scanner(System.in);			
			for (int b=0;b<=z2-1;b++){			
				System.out.println("Gib die "+b+". Zahl ein:");				
				z[b] = s.nextInt();				
				a = a + z[b];
				System.out.println(z[b]);
				v=a;
				return v;
			}	
	}
}

Eclipse liefert in Zeile 22 nun: "This method must return a result of type double"

... und sorry ... ich finde den Fehler nicht!

Kann mir bitte jemand helfen?
 

Saheeda

Top Contributor
Wenn du für z2 einen Wert kleiner oder gleich 0 übergibst, wird die Schleife nie betreten, für diesen Fall gibt es also keinen Rückgabewert.

"Ja aber, ich übergebe doch nur positive Werte!" - du weißt das, aber die IDE kann das nicht "wissen".
Schreibe das return außerhalb der for-Schleife und es geht.

Deine Schleife wird im Übrigen so oder so nur einmal durchlaufen. In der ersten Iteration kommt ein return und die Methode wird verlassen.
 

Neue Themen


Oben