这是我试图调用的方法:
public static int seu03Menu(int option)
{
Scanner console = new Scanner(System.in);
System.out.println("*************************************************************");
System.out.println("Welcome to the 1323 System \nPlease choose an option from our menu\n");
System.out.println("1. Calculator");
System.out.println("2. Sentence Analysis");
System.out.println("3. Roll Dice");
System.out.println("4. Big Money");
System.out.println("\n9. Exit");
System.out.println("Option:");
option = console.nextInt();
return option;
}
这就是我试图调用方法的方法:
public static void main (String[] args)
{
seu03Methods.seu03Menu(int option);
switch (option)
{
case 1:
seu02.calculator();
break;
case 2:
seu03Methods.sentenceAnalysis();
break;
case 3:
seu03Methods.rollDice();
break;
case 4:
seu03Methods.bigMoney();
break;
case 9:
System.out.println("Exiting seu03...");
break;
default:
System.out.println("Invalid selection.");
break;
}
我们还没有涵盖如何调用不仅仅是" public static void"所以我完全迷失了。我是Java的新手,所以尝试使用Google和Stack Overflow搜索这个并没有用。任何指向正确的方向都非常感谢!
答案 0 :(得分:0)
int option = seu03Methods.seu03Menu (0);
seu03Menu
不应该参数。在Java中,参数是将传递到方法中的值;返回到调用方的唯一值是传递 out 的方法,它们是返回值。 seu03Menu
不会使用传递给它的option
值。因此,它不应该采用参数,而应该看起来像
public static int seu03Menu()
{
... other stuff
int option = console.nextInt();
return option;
}
然后你会这样称呼它:
int option = seu03Methods.seu03Menu ();
如果seu03Menu
不是你可以改变的东西,那么你必须传递一些整数作为参数。但由于seu03Menu
不使用您传递的值,因此您可以将其设为任意内容,例如0
。
答案 1 :(得分:0)
您正在调用的方法返回int
。
您需要在代码中初始化对方法值的引用,以获取方法的值。
您也不需要在方法的签名中添加参数,因为它会根据System
输入流(System.in
)中扫描的结果生成结果。
你可以这样做:
public static int seu03Menu()
option = console.nextInt();
return console.nextInt();
int theResult = seu03Methods.seu03Menu();
您的方法将从int
流中获取System.in
类型的值,然后将其返回。
您的theResult
方法范围变量将保存该值。
此外,我强烈建议:
答案 2 :(得分:0)
public static int seu03Menu(){
Scanner console = new Scanner(System.in);
//All your options
int option = console.nextInt();
return option;
}
public static void main (String[] args){
int option = seu03Methods.seu03Menu();
switch( option ){
//rest of your code
}
}
答案 3 :(得分:0)
进行如下更改: 改变主线 seu03Methods.seu03Menu(int option);
到
int option = seu03Methods.seu03Menu;
和 改变方法的定义 public static int seu03Menu(int option)to public static int seu03Menu()