不能将随机数分配给数组

时间:2014-06-05 19:00:34

标签: java arrays

所以我的代码出现问题。我基本上要做的是为每个BC [0]分配一个值,并为BC01 [0]和2添加1到BC02 [0]为每条船做这个。 (试图制作战舰(高级))

但是我能够打印出来的是

[[I@7852e922

无论如何,这是我的代码

public class dogs {
    public static int BC00 [] = {0,0};
    public static int BC01 [] = {BC00[0],BC00[1]};
    public static int BC02 [] = {BC00[0],BC00[1]};
    public static int boat0[][] = {BC00, BC01, BC02}; //location cells boat[0][0]
    public static int BC10 [] = {BC01[0], BC01[1]};
    public static int BC11 [] = {BC01[0], BC01[1]};
    public static int BC12 [] = {BC01[0], BC01[1]};
    public static int boat1 [][] = {BC10, BC11, BC12};
    public static int BC20 [] = {BC02[0], BC02[1]};
    public static int BC21 [] = {BC02[0], BC02[1]};
    public static int BC22 [] = {BC02[0], BC02[1]};
    public static int boat2 [][] = {BC20, BC21, BC22};
    public int NH; // Number of hits
    public static int allBoats [][][] = {boat0, boat1, boat2};
    public static int rand;
    public static int n = 0;
    public static void main(String[] args) {

        for (int x = 0; x <= 2; x++) {
            Random gen = new Random();

            rand = gen.nextInt(6) + 1;
            allBoats[x][0][0] = (int) rand;
            while(n <= 2) { //give boatCells locations

                allBoats[n][1][1] = allBoats[n][1][1] + 1;
                allBoats[n][2][1] = allBoats[n][2][1] + 2;
                n++;
            } // end of while loop
        } // end of For loop
        System.out.println(boat0);
    } // end of public static void main(String[] args)
} // end of dogs class

1 个答案:

答案 0 :(得分:1)

使用

System.out.println(Arrays.deepToString(boat0));

而不是

System.out.println(boat0);

正如@ChristianKuetbach建议的那样,重要的是要理解在Java中,toString() - Mothod通常并不意味着“生成用户可读字符串的方法”。大多数类打印ClassName @ HashCode。