【问题标题】:Make new Multidimensional Array in Test class在测试类中创建新的多维数组
【发布时间】:2015-10-19 20:06:05
【问题描述】:

我正在开发一个国际象棋游戏,但我不知道如何创建一个测试类,并在该测试类中创建一个新的数组和 ChessClass 的测试方法。

我的国际象棋表类有一个随机移动的方法 导入 java.util.Random;

public class Chess {

    boolean s [][] = new boolean[8][8];
    Knight kn;
    Random r = new Random();

    public void RandStart(){
        kn = new Knight(r.nextInt(), r.nextInt());
        s [kn.getX()][kn.getY()] = true;
    }


    public void print(){
        for(int i = 0;i < s.length;i++){
            for(int j = 0;j < s[i].length;j++){
                System.out.println(s[i][j]);
            }   
        }
    }



}

我唯一不知道的是如何让它在测试类中工作 我得到一个错误,我不能使用国际象棋类的方法

public class Test {

    public static void main(String[] args){
        Chess m = null;
        m = new Chess[5][5];
        m.RandStart();
    }
}

提前致谢

【问题讨论】:

  • Chess m = null; m = new Chess[5][5];更改为Chess m = new Chess();
  • 谢谢,它成功了。把它写成答案
  • 但是如果你不知道如何在 Java 中很好地创建一个新对象,那么你就有问题了!

标签: java multidimensional-array chess


【解决方案1】:

在您的主要方法中,您尝试将二维 Chess 数组分配给普通的 Chess 对象。

public class Test {

    public static void main(String[] args){
        Chess m = new Chess();
        m.RandStart();
    }
}

应该可以解决您的问题。

另外我建议您将RandStart() 更改为randStart() 良好的编程习惯就是一切。

【讨论】:

    【解决方案2】:

    欢迎来到 Stack Overflow!

    看起来您希望能够在测试时动态设置数组大小。您可以创建两个构造函数来实例化您的数组:

    boolean s [][] = new boolean[8][8];
    Knight kn;
    Random r = new Random();
    
    public Chess() {
      s = new boolean[8][8];
    }
    
    public Chess(boolean s[][]) {
      this.s = s;
    }
    

    这样你的测试就可以在构造函数中传入数组。并且只有几个 nits,使用比 's' 更好的变量名,并且测试通常不使用 main。查看 Junit https://github.com/junit-team/junit/wiki/Getting-started

    【讨论】:

      【解决方案3】:

      我看到您正在尝试创建一个新的 Chess 对象,但您还远远没有这样做,因为m = new Chess[5][5]; 是创建多维数组而不是对象的语法。 然而这里是创建象棋类的新对象的语法。

      Chess m = new Chess();
      

      【讨论】:

        猜你喜欢
        • 2019-09-09
        • 1970-01-01
        • 1970-01-01
        • 2019-02-23
        • 2017-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多