2017-10-29 3 views
-2

Ich verwende ein Beispiel Turtle-Projekt von BlueJ, um Polygone zu verfolgen. Ich habe bereits eine Methode, die ein Polygon nach der Anzahl der Seiten und der Länge der Seiten skizzieren würde. Nun möchte ich diese Methode eine bestimmte Anzahl von Malen aufrufen, so dass ich zum Beispiel festlegen kann, dass ich 3 Polygone erstellen möchte, dann bestimme die obigen Parameter für jedes Polygon, und lasse es dann weitergehen, um es zu skizzieren .Aufruf einer Methode mit Parametern eine bestimmte Anzahl von Malen

Meine Methode für ein Polygon zu skizzieren ist wie folgt:

public void drawPolygon(int numberOfSides, int lengthOfSide, Color penColor){ 
    world.dropIn(fred); 
    fred.setColor(penColor); 
    fred.penUp(); 
    fred.left(90); 
    fred.forward(200); 
    fred.right(90); 
    fred.penDown(); 
    for(int i=0; i<numberOfSides; i++) { 
     fred.right(360/numberOfSides); 
     fred.forward(lengthOfSide); 
    } 
    world.removeTurtle(fred); 

FYI: fred der Name meiner Schildkröte ist und die Color bezogenen Linien sind für die Farbe des Stifts zu ändern fred unter Verwendung.

Ich habe versucht, das Schreiben folgende:

public void drawPolygons(int numberOfPolygons){ 
    for(int i=0; i<numberOfPolygons; i++){ 
     drawPolygon(int numberOfSides, int lengthOfSide, Color penColor); 
    } 
} 

Aber ich eine Vielzahl von Fehlermeldungen erhalten. Ist es möglich, eine Methode mit Parametern innerhalb einer anderen Methode mit Parametern aufzurufen oder bin ich wütend?

Es tut mir leid, wenn dies eine grundlegende Frage für Stackoverflow ist, bin ich völlig neu in der Programmierung und jede Hilfe wäre sehr willkommen!

+0

natürlich ist es, oder wir hätten nie Anwendungen mit mehr als einer Funktionalität oder Anwendungen, die etwas anderes als einen Block von Code hat! Sie verwenden Datentypen im Aufruf, die nicht richtig sind, rufen Sie die Methode direkt mit den Werten auf. Datentypen werden angegeben, wenn die Methode nicht aufgerufen wird :) –

Antwort

0

Ist es möglich, ein Verfahren mit Parametern in einem anderen Verfahren mit Parametern aufrufen ...

Ja, das ist ein gemeinsames Paradigma ist. Sie müssen nur Ihren Aufruf von drawPolygon:

public void drawPolygons(int numberOfPolygons){ 
    for(int i=0; i<numberOfPolygons; i++){ 
     drawPolygon(numberOfSides, lengthOfSide, penColor); 
    } 
} 
+0

'numberOfSides',' lengthOfSide' und 'penColor' sind externe Parameter, die ich beim Erstellen des Polygons eingabe. Wenn ich versuche, die Typdeklarationen zu entfernen, wirft BlueJ den Fehler auf, dass diese Variablen nicht gefunden werden können. – Brian

+0

versuche, DrawPolygon (int, int, Farbe) von einer Stelle aufzurufen, auf die diese Parameter zugreifen können. – jdigital

Verwandte Themen