如何在Java中为2D数组赋值变量值

时间:2016-11-28 02:18:14

标签: java arrays

对于我的家庭作业,我应该接受3个输入,xymxy是数组monsters的维度,m的类型为Monster。我应该接受输入,只要Monster是默认Monster(即名称为"",级别为-1),我在monsters[y][x]分配值。

在后面的方法中,我将打印数组的信息,以便当它出现在屏幕上时,它将显示名称的首字母及其级别。如果数组是2x2并且所有怪物具有相同的名称和级别,它将看起来像这样:

V(5) V(5)

V(5) V(5)

到目前为止我的代码如下:

public void updateMonster(int x, int y, Monster m){
    String name = m.getName();
    int lvl = m.getLevel();

    if(y <= gridWidth || x <= gridHeight){
        if (name == "" && lvl == -1){
            monsters[y][x] = m;
        } 

    }

}

显然,我不能只声明monsters[y][x] = m;,因为m不是整数,我不能为数组赋一个非整数值。

我如何获取名称和级别并将其专门分配到monsters[y][x]的位置?

我想到可能通过将它们乘以monsters[1][0] = 1 * 0的值来对值进行变化,然后当我打印数组时,它只会调用乘法数字,但这不会起作用,因为重复。

这是整个类,包括变量声明。

public class Dungeon {
  private int[][] monsters;
  int gridWidth;
  int gridHeight;
public Dungeon(int width, int height){
    monsters = new int[width][height];
    gridWidth = width;
    gridHeight = height;
}
public void updateMonster(int x, int y, Monster m){
    String name = m.getName();
    int lvl = m.getLevel();

    if(y <= gridWidth || x <= gridHeight){
        if (name == "" && lvl == -1){
            monsters[y][x] = m;
        }

}

}
public void swap(int x1, int y1, int x2, int y2){

}
public void shuffle(){

}
public void shift(char command){

}
public String printInfo(){
    return null;

}
}

0 个答案:

没有答案