我正在尝试从一个方法获取用户输入并在另一个方法中使用它。我很困惑,无法从结果类型为void的方法返回一个值,因为“userMove”被定义为int类型。
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;
}
答案 0 :(得分:8)
在您返回void
时,只需将int
更改为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
方法意味着它不返回任何内容(即没有返回语句),除void
之外的任何内容都返回,并且需要返回。
答案 1 :(得分:4)
标记为void
的方法意味着它不会返回任何内容。它可以被视为procedure
而不是function
。
将方法签名更改为public static int move()
可以解决您的问题。您的方法现在代表function
,它具有返回值。
This Oracle教程应该提供一些有用的信息。