我正在尝试制作一个简单的程序,您可以通过输入命令在四个方向上移动一个空格。这是我的代码:
public class Map {
public int x;
public int y;
}
和
import java.util.Scanner;
public class Mover {
Scanner input = new Scanner(System.in);
Map map = new Map();
public int move(int x, int y){
map.x = x;
map.y = y;
String direction = input.next();
System.out.println("Where will you move?");
if(direction.equalsIgnoreCase("move right")){
x++;
return x;
}
if(direction.equalsIgnoreCase("move left")){
x--;
return x;
}
if(direction.equalsIgnoreCase("move up")){
y++;
return y;
}
if(direction.equalsIgnoreCase("move down")){
y--;
return y;
}
}
public static void main(String args[]){
Mover mover = new Mover();
}
}
编译器说问题是我需要返回一个 int 值,但显然我在我所做的每个 if 语句中都有。具体来说,它说在方法的最后返回一个“y”值将解决问题。尝试此操作后,错误消失了。但是在编译时,程序会立即终止。我究竟做错了什么?