2017-11-25 2 views
-1

ich mit meinem zweiten Verfahren eine harte Zeit habe, die Methodendeklaration ist: public static void displayOutput(int loopCount) Das Verfahren aus den main() genannt wird und den gültigen Eingabewert geführt, die Wiederholung bestimmt. Die Methode zeigt nur das Ausgabemuster an und gibt nichts zurück. Jede dritte Zeile zeigt ein Leerzeichen und 3 SternchenAufruf eine Methode, die die Ausgabemuster zeigt nur

Ich weiß, ich rufe nicht jede Methode in der main() und ich weiß, dass displayOutput(int loopCout) falsch ist.

Könnte mir jemand das erklären oder ein Beispiel verwenden, das beim Schreiben des Programms helfen würde?

public static void main(String[] args) { 
    int repeat; 
    Scanner goGet = new Scanner(System.in); 
    repeat = getValidValue(goGet); //Uncompilable source code -Erroneous sym type 

    displayOutput(repeat); 
} 

public static int getValidValue() { 
    int input; 

    do { 
     Scanner getInfo = new Scanner(System.in); 
     System.out.print("Enter an integer Greater than zero: --> "); 
     input = getInfo.nextInt(); 

    } while (input <= 0); 

    return input; 
} 

public static int displayOutput(int loopCount) { 
    int i; 
    for (i = 0; i < loopCount; i++) { 
     System.out.print("The semester is ending soon. "); 
     System.out.print("The semester is ending soon. "); 
     System.out.print("The semester is ending soon.*** ");    
    } 

    return loopCount; 
} 
+0

Sie fragen nach einem Kompilierungsfehler. Aber anscheinend hast du den Fehler nicht gelesen. Zumindest haben Sie es nicht für nützlich gehalten, es zu lesen, da Sie es nicht gepostet haben. Lies es. Es sagt dir genau, was falsch ist und wo. Etwas wie "method getValidValue() kann nicht mit einem Argument vom Typ java.util.Scanner aufgerufen werden". Warum? weil getValidValue() kein Argument annimmt, und doch versuchen Sie, eines zu übergeben, wenn Sie es aufrufen. –

Antwort

0

getValidValue() diese Methode keine Argumente aber während er ruft Sie haben ein Argument übergeben. Das verursacht den Fehler.

entweder den Prototyp dieser Methode ändern, so dass es das Argument

public static int getValidValue(Scanner obj) 

oder einfach das Argument aus dem Methodenaufruf entfernen

repeat = getValidValue(); 
1

Sie einen Wert Methode übergeben getValidValue was keinen Wert hat.

Auch displayOutput gibt loopcount zurück, aber Sie fangen es nirgendwohin so nach asterisk zeigt es nichts an.

Verwandte Themen