Methoden und deren Rückgabe

Neondream

Aktives Mitglied
so wir mussten mehrer methoden erzeugen,
bspw musste wir in dieser kreise zeichnen die sich wie konfetti in 2 farben vermehren.

so die methode habe ich hinbekommen und sie funktioniert, :applaus:
nur ist mein problem die rückgabe.
ich weiß nicht was ich sinvoll zurückgeben muss, ich habe einfach nur eine variable zurückgegeben (return c) welche nicht angezeigt wird damit die methode durchlaufen kann denke aber das es einen besseren weg geben muss 😉
so sieht mir das ganze nicht 100% richtig aus.

wäre nett wenn mir jmnd helfen könnte,
hier das programm:

Java:
public class Karneval 
{

	public static double aalaf(double a,double b,double c,double d)
	{
		for (int i = 0; i < a; i++)
		{
			//zufallsintervall radius
			double r = c + Math.random() * (d - c);
			//zufallszahlen für x und y
			double x = Math.random();
			double y = Math.random();
			//wahrscheinlichkeit berechnen
			boolean w = Math.random() < b;
			//farbenbestimmen
			if(w == true)
			StdDraw.setPenColor(StdDraw.BLACK);
			else
			StdDraw.setPenColor(StdDraw.GREEN);
			//Kreiszeichnen
			StdDraw.filledCircle( x, y, r);
			
		}
                 //sinlose rückgabe damit die methode anerkannt wird ;)
		return c;
		
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) 
	{
		// TODO Auto-generated method stub
		
		//Anzahl kreise
		double a = Double.parseDouble(args[0]);
		//wahrscheinlichkeit der farben
		double b = Double.parseDouble(args[1]);
		//min. Radius
		double c = Double.parseDouble(args[2]);
		//max Radius
		double d = Double.parseDouble(args[3]);
		
		double konfetti = aalaf(a,b,c,d); 
		
	}

}

nicegreeetz
neon
 
Java:
public static void aalaf(double a,double b,double c,double d)
    {
        for (int i = 0; i < a; i++)
        {
            //zufallsintervall radius
            double r = c + Math.random() * (d - c);
            //zufallszahlen für x und y
            double x = Math.random();
            double y = Math.random();
            //wahrscheinlichkeit berechnen
            boolean w = Math.random() < b;
            //farbenbestimmen
            if(w == true)
            StdDraw.setPenColor(StdDraw.BLACK);
            else
            StdDraw.setPenColor(StdDraw.GREEN);
            //Kreiszeichnen
            StdDraw.filledCircle( x, y, r);
            
        }

        
    }

wenn du void eingibst,brauchst du keine rückgabe und die methode wird anerkannt
 
ich weiß nicht was ich sinvoll zurückgeben muss
public static void aalaf...= nichts zurück geben
public static double aalaf... = double zurück geben....

weißt du nicht was du zurück geben sollst? Dann gib halt nichts zurück, oder frag deinen Lehrer was er möchte....
 
JA, mußt Du dann sogar.
Eine Methode kann als Rückgabe primitive Datentypen , Objekttpyen oder void haben.
void bedeutet soviel wie leer = keine Rückgabe.
Ist der Rückgabetyp Deiner Methode void, brauchst Du auch kein return in der Methode.
Besitzt Deine Methode einen Rückgabewert (Returnwert), dann brauchst Du ein return mit einem Wert vom Typ der im Methodenkopf angegeben wurde.
z.B:
Java:
public double convertFahrenheitToCelsiusTemperaturs( String degreesFahrenheit)
{
   double ergebnis = 0d;

    // Umrechnung

   return ergebnis;   // ein wird double zurückgegeben
}
 

Zurück
Oben