2017-11-25 226 views
-1

我在我的第二个方法很难的输出模式的方法,该方法声明为: public static void displayOutput(int loopCount) 的方法从main()调用,并传递其确定重复的有效的输入值。该方法仅显示输出模式并不返回任何内容。每第3行显示一个空格和3个星号调用仅显示

我知道我没有拨打main()中的每个方法,我知道displayOutput(int loopCout)是错误的。

有人可以向我解释这个或使用一个有助于编写程序的例子吗?

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

你在问一个编译错误。但显然,你没有阅读错误。或者至少你没有认为它有用,因为你还没有发布它。阅读。它会告诉你到底发生了什么问题,以及在哪里。像“method getValidValue()”之类的东西不能用类型为java.util.Scanner的参数调用。为什么?因为getValidValue()不带任何参数,但在调用它时试图传递一个参数。 –

回答

0

getValidValue()这种方法不使用参数 但同时称这是你通过一个参数。这是导致错误的原因。

要么改变这种方法的原型,以便它需要的参数

public static int getValidValue(Scanner obj) 

或 简单地从方法调用

repeat = getValidValue(); 
1

你是值传递给方法getValidValue删除参数哪些没有任何价值。

另外displayOutput正在返回loopcount,但你没有在任何地方捕捉它,所以在星号之后它不显示任何东西。