从另一个Java类调用“非类”方法
这是我尝试调用的方法:
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;
}
我们还没有讨论如何调用不仅仅是“publicstaticvoid”的方法,所以我完全不懂。我是Java新手,所以尝试使用Google和Stack Overflow来搜索它是徒劳的。非常感谢任何指向正确方向的指针
# 1 楼答案
seu03Menu
不应采用参数。在Java中,参数是传递给方法的值;方法的输出返回给调用方的唯一值是返回值。seu03Menu
不使用传递给它的option
的值。因此,它不应该采用参数,而是应该如下所示然后你会这样称呼它:
如果
seu03Menu
不是可以更改的,那么必须将某个整数作为参数传递给它。但是因为seu03Menu
不使用传递给它的值,所以可以根据需要制作任何东西,比如0
# 2 楼答案
# 3 楼答案
您调用的方法返回
int
为了获得方法的值,需要在代码中初始化对方法值的引用
您也不需要向方法的签名中添加参数,因为它根据
System
输入流(System.in
)中扫描的结果生成结果你可以这样做:
public static int seu03Menu()
option = console.nextInt();
更改为return console.nextInt();
int theResult = seu03Methods.seu03Menu();
您的方法将从
System.in
流中获取一个int
类型的值,然后返回它。 你的theResult
方法作用域变量将保存该值此外,我强烈建议:
# 4 楼答案
进行如下更改: 换乘主线 我们有很多方法。seu03菜单(int选项)
到
int option=seu03Methods。菜单
及 更改方法的定义 public static int seu03Menu(int选项)到public static int seu03Menu()