所以我的代码出现问题。我基本上要做的是为每个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
答案 0 :(得分:1)
使用
System.out.println(Arrays.deepToString(boat0));
而不是
System.out.println(boat0);
正如@ChristianKuetbach建议的那样,重要的是要理解在Java中,toString()
- Mothod通常并不意味着“生成用户可读字符串的方法”。大多数类打印ClassName @ HashCode。