2016-07-01 9 views
-2

Ich versuche ein Java Assigment zu machen, in dem ich die Fläche eines Rechtecks ​​berechnen muss.Wie kann man eine Methode mit Parametern richtig aufrufen?

Dies ist der angegebene Header, der die rechteckFlaeche Methode setzt:

public static double rectangleArea(double length, double width) 

Vor diesem Header ich frage mich, was der richtige Weg ist, um die Fläche zu berechnen, indem Werte auf die Methode der Parameter übergeben?

Nummer 1.

public static double rectangleArea(double length, double width) 

{ 
    double area = length * width; 
    System.out.println("area"); 
    return area; 
} 
rectangleArea (6,3); 

Nummer 2.

public static double rectangleArea(double length, double width) 

{ 
    double area = length * width; 
    System.out.println("area"); 
    return area; 
} 

public static void test() 
{ 
    rectangleArea(6,3); 
} 
+0

Was Sie durch den Aufruf der gleichen Funktion mit dem gleichen Parameter zweimal zu tun versuchen? – Shiro

+8

Ich habe Schwierigkeiten zu verstehen, was genau die Frage ist. Die Funktion ist in beiden Snippets identisch, oder? Wenn Sie diese Methode außerhalb der Klasse aufrufen möchten, benötigen Sie den Kontext (die Klasse). Wenn also Ihre Klasse, die diese Methode enthält, 'Rect' heißt, rufen Sie' Rect.rectangleArea (x, y) ' – Fildor

+2

auf. Die 2-Wege-Darstellung sieht genauso aus. Bitte formulieren Sie Ihre Frage mit dem, was Sie erreichen möchten. –

Antwort

2

Beide Wege korrekt sind, wenn Sie eine richtige Art und Weise zu fragen, ein Verfahren zu nennen.

Wahrscheinlich Fall Nummer Eins wird unter bestimmten Umständen nicht korrekt sein, weil Sie statische Methode aufrufen.

1

Folgendes ist ein Test.java, die Sie kompilieren (mit javac) und ausführen können (mit Java). Der Lauf führt die öffentliche statische Methode main mit dem Parameter String[] aus.

public class Test { 

    public static double rectangleArea(double length, double width) 
    { 
     double area = length * width; 
     return area; 
     // Or: return length * width; 
    } 

    public static void main(String[] args) 
    { 
     double area = rectangleArea(6, 3); 
     System.out.println("area: " + area); 
    } 
} 
+2

Vielleicht sollten wir hinzufügen, dass, wenn sie die rectangleArea-Methode in eine andere Klasse - sagen wir "Rect" - setzen würde, sie "Rect.rectangleArea (6,3);" aufrufen müsste. – Fildor

+1

@Fildor Ja 'Paket' und' Import' sollten auch frühe Unterrichtsfächer sein. –

+0

Ok es tut mir leid, ich habe gerade eine schwierige Zeit zu verstehen. Wenn ich die Methode rectangleArea bereits deklariert hätte, dann wäre es nicht genug, um sie einfach in Form von method_name (parameters) aufzurufen; anstatt den Anruf in eine andere Methode wie Test setzen zu müssen? – Ana

0

Beide sind richtig, auch wenn es auf Ihrer Anforderung hängt

Aber Sie werden nicht den Rückgabewert wie

double no = rectangleArea (6,3) verwendet wird;

oder

public static void test() 
{ 
double no = rectangleArea(6,3); 
}