2013-03-20 53 views
0

我正嘗試從一個方法獲取用戶輸入並在另一個方法中使用它。由於「userMove」被定義爲int類型,所以我無法從其結果類型爲void error的方法返回值。無法從其結果類型爲void的方法返回值錯誤

public static void move() 
{ 
    System.out.println("What do you want to do?"); 
    Scanner scan = new Scanner(System.in); 
    int userMove = scan.nextInt(); 
    return userMove; 
} 

public static void usersMove(String playerName, int gesture) 
{ 
    int userMove = move(); 

    if (userMove == -1) 
    { 
     break; 
    } 
+2

從未見過一個void方法返回一個int值。 – 2013-03-20 08:18:40

回答

5

簡單地改變voidint爲您傳回的int

public static int move() 
{ 
    System.out.println("What do you want to do?"); 
    Scanner scan = new Scanner(System.in); 
    int userMove = scan.nextInt(); 
    return userMove; 
} 

一個void方法意味着它沒有返回值(即沒有return語句),任何其他然後void,並要求回報。

3

標記爲void的方法意味着它不返回任何內容。它可以被看作是procedure而不是function

將您的方法簽名更改爲public static int move()應該可以解決您的問題。你的方法現在代表一個function,它有一個返回值。

This Oracle教程應該提供一些有用的信息。

相關問題