import java.util.Arrays;
public class main {
public static void main (String[] args ) {
int rand = (int)Math.random()*17;
int[][] output = array(rand);
//System.out.println(Arrays.deepToString(output));
}
public static int[][] array(int n) { //btw n is y/height
int x = (int)Math.pow(2, n-1); //# of col
int max = (int)Math.pow(2, n) - 1;
int [][] out = new int[n][x];
for (int i = 0; i < n; i++) {
for (int j = 0; j < x; j++) {
out[i][j] = (int) (Math.random() * (max + 1));
}
}
return out;
}
}
我正在学习如何编码,表兄给了我他们的旧笔记本电脑,我在这里和那里找到了一些小的java文件。这个被称为&#34; itsmagic.java&#34;但我真的不明白目的是什么?
根据我的理解,似乎我们正在创建某种2D阵列然后是什么?我知道deepToString
应该用于将多维数组转换为字符串,但这是如何工作的?为什么要注释掉?
答案 0 :(得分:0)
我从您的代码中理解的是:
- 从0到17选择一个随机的int。
- 设置x = 2 ^(n-1)
- 设置max = 2 ^ n
创建双重输入标签尺寸n * x
- 使用0到最大值之间的随机数填充每个案例
所以结果是维度[0到17] [2 ^(0到16)]的双重输入标签,填充0到2 ^(0到17)之间的数字
答案 1 :(得分:0)
Arrays.deepToString()用于单维或多维数组,它通常用于多维数组,因为它可以清楚地输出每个数组。
您将能够在示例中输出第一个和第二个“输出”数组。
如果您运行测试并手动添加数组,您将看到它将两个数组一起打印而不是仅显示第一个维度。