Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-如何将用户输入保存到2D数组中_Java_Arrays_Multidimensional Array - Fatal编程技术网

Java-如何将用户输入保存到2D数组中

Java-如何将用户输入保存到2D数组中,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我正在使用类创建一个战舰游戏。游戏首先询问2名玩家的名字,然后要求玩家提供2分来设置船。玩家来回拾取点数,直到a船沉没并显示赢家 我一直在努力用相应的玩家名称将这些点保存到2D数组中。我想对两名球员都使用一分,只是为了缩短时间。如有任何建议,我将不胜感激 runBattleship主类:输入和输出 Scanner keyboard = new Scanner(System.in); Players p1 = new Players(); Players p2 = new Players();

我正在使用类创建一个战舰游戏。游戏首先询问2名玩家的名字,然后要求玩家提供2分来设置船。玩家来回拾取点数,直到a船沉没并显示赢家

我一直在努力用相应的玩家名称将这些点保存到2D数组中。我想对两名球员都使用一分,只是为了缩短时间。如有任何建议,我将不胜感激

runBattleship主类:输入和输出

Scanner keyboard = new Scanner(System.in);

Players p1 = new Players();
Players p2 = new Players();

Grid px = new Grid();
Grid py = new Grid();

System.out.print("Welcome to Battleship game");

System.out.println("");
System.out.print("Player 1 enter name: ");
p1.setName(keyboard.next());

System.out.print("Player 2 enter name: ");
p2.setName(keyboard.next());

System.out.println("");
System.out.println("Player 1 select point x and y (5x5 grid)");
px.setPointX(keyboard.nextInt());
py.setPointY(keyboard.nextInt());
玩家类:玩家名称的获取者和设置者,并从网格中调用对象以获取分数

String name;
int pointX, pointY;

Players(){
    name = "";
}
public Players(String name, Grid pointX, Grid pointY){
    this.name = name;
    this.pointX = pointX.getPointX();
    this.pointY = pointY.getPointY();
}
public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}
网格类:用于点用户输入的getter和setter

Ship[][] board = new Ship[5][5];
int pointX, pointY;

public int getPointX() {
    return pointX;
}

public void setPointX(int pointX) {
    this.pointX = pointX;
}

public int getPointY() {
    return pointY;
}

public void setPointY(int pointY) {
    this.pointY = pointY;
}
船舶等级:如果是合适的地方,我计划在那里拯救这些船舶

String name;
int px, py;

public void placeShipAt(Grid pointX, Grid pointY, Players name){
    this.name = name.getName();
    this.px = pointX.getPointX();
    this.py = pointY.getPointY();


}

您可以花很少的时间学习
映射
,这样您就不会在数组中进行复杂的排列,但您仍然可以这样做:)。@Plain\u Dude\u Sleeping\u独自映射?这是一个更容易使用的方法吗?我从来没有听说过它像
Map
…,@Plain\u Dude\u Sleeping\u这样会在主类中使用迭代器,对吗?