[英]Calling a “non-void” method from another Java class
這是我嘗試調用的方法:
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進行搜索無濟於事。 任何正確方向的指針都將不勝感激!
int option = seu03Methods.seu03Menu (0);
seu03Menu
不應帶有參數。 在Java中,參數是得到傳遞給方法的值; 返回值是唯一從方法傳遞回調用方的值。 seu03Menu
不使用傳遞給它的option
的值。 因此,它不應該帶有參數,而應該看起來像
public static int seu03Menu()
{
... other stuff
int option = console.nextInt();
return option;
}
然后,您可以這樣稱呼它:
int option = seu03Methods.seu03Menu ();
如果seu03Menu
不是您可以更改的內容,則必須將其作為參數傳遞給整數。 但是由於seu03Menu
不使用您傳遞的值,因此您可以將其seu03Menu
值,例如0
。
您正在調用的方法返回int
。
您需要在代碼中初始化對方法值的引用,以獲取方法的值。
您也不需要在方法的簽名中添加參數,因為它是根據System
輸入流( System.in
)中被掃描的結果生成結果的。
您可以這樣操作:
public static int seu03Menu()
option = console.nextInt();
與return console.nextInt();
int theResult = seu03Methods.seu03Menu();
您的方法將從System.in
流中獲取一個int
類型的值,然后將其返回。 您的theResult
方法作用域變量將保存該值。
另外,我強烈建議:
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
}
}
進行如下更改:更改主seu03Methods.seu03Menu(int選項)中的行;
至
int option = seu03Methods.seu03Menu;
並將方法public static int seu03Menu(int option)的定義更改為public static int seu03Menu()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.