Array als parameter?

09/07/2017 14:02 .Array#1
.
09/07/2017 17:12 algernong#2
Deinen Fehler hast du ja selber gefunden, noch eine Anmerkung: Du musst die Anzahl der Elemente im Array nicht selber mit übergeben, verwende einfach eingabeArray.length.
09/07/2017 20:51 xShizoidx#3
Alternativ kannst du auch eine variable Anzahl an Parametern zurücknehmen, indem du nach dem Datentyp ... verwendest. Beispiel :
Code:
public class Test
{
  public static void main(String[] args)
  {
    System.out.println(multiply(3.2,3.5,12.9,13.7));
  }
  
  private static double multiply(double ...args)
  {
     double result = 1.0;
   	 for(int i=0;i<args.length;i++)
     {
       	result = result * args[i];
     }
    return result;
  }
}
09/08/2017 09:28 .StarSplash#4
Quote:
Originally Posted by xShizoidx View Post
Alternativ kannst du auch eine variable Anzahl an Parametern zurücknehmen, indem du nach dem Datentyp ... verwendest. Beispiel :
Code:
public class Test
{
  public static void main(String[] args)
  {
    System.out.println(multiply(3.2,3.5,12.9,13.7));
  }
  
  private static double multiply(double ...args)
  {
     double result = 1.0;
   	 for(int i=0;i<args.length;i++)
     {
       	result = result * args[i];
     }
    return result;
  }
}
Letztlich tut das genau das gleiche. Der Compiler baut dir aus den Parametern deiner Methode automatisch ein Array. Deshalb gehen auch keine Überladungen mit Varargs (das ist das mit den drei Punkten) und Array gleichzeitig. Und natürlich kannst du die Vorteile daraus nutzen, bspw. über alle Elemente mittels foreach iterieren.

PS: Hab damals in meiner Java-Prüfung nen Punkt abgezogen bekommen weil ich in der Main-Methode "main(String... args)" geschrieben hab :^)