我创建了一个二维数组,我想用最多10个范围内的随机数字填充。但是,打印的最终结果最终全为零。我看不到我的代码有什么问题,并且我确定一切正确。我在Stack Overflow上搜索了类似的问题,但是找不到与我的问题类似的问题。我的代码如下:
int [][] array = new int [3][3];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++)
{ array[i][j] = ( (int) Math.random() * 10 );
System.out.print(array[i][j] + " "); }
System.out.println(" "); }
答案 0 :(得分:2)
问题很简单。它只是将mybb_settinggroups
强制转换为 int ,而不是乘法结果。
您的原始代码包含以下行:
Math.random()
它将array[i][j] = ( (int) Math.random() * 10 );
强制转换为Math.random()
,而int
在间隔 [0..1] 中返回 double 。强制转换为Math.random()
的结果将为0。
相反,您应该做的是将int
乘以10:
Math.random()
这是完整的工作代码:
array[i][j] = ( (int) (Math.random() * 10) );