我有一个赋值,用0到9之间的随机数填充数组。然后以矩形格式打印出来。我已经在尝试将随机整数放入数组中时遇到了麻烦。请指出我正确的方向
import java.util.*;
public class ThreebyFour
{
public static void main (String[] args)
{
int values[][] = new int[3][4];
for (int i = 0; i < values.length; i++)
{
for (int j = 0; j < values.length; j++)
{
values[i][j] = ((int)Math.random());
System.out.println(values[i][j]);
}
}
}
}
答案 0 :(得分:2)
代码中的装饰性问题:
喜欢:
values[i][j] = ((int)Math.random());
这会将所有元素分配为零,因为随机值的返回介于0和1之间[0,1],并且转换为整数将返回零。
和此:
for (int j = 0; j < values.length; j++)
第二个for循环会更好,如果你这样做计算该行的元素...就像我在评论中写的那样......
即做:
for (int j = 0; j < values[i].length; j++) {
修正代码:
public static void main(String[] args) {
int values[][] = new int[3][4];
for (int i = 0; i < values.length; i++) {
// do the for in the row according to the column size
for (int j = 0; j < values[i].length; j++) {
// multiple the random by 10 and then cast to in
values[i][j] = ((int) (Math.random() * 10));
System.out.print(values[i][j]);
}
// add a new line
System.out.println();
}
System.out.println("Done");
}
答案 1 :(得分:0)
你可以做Math.round (Math.random() * 10)
。我建议阅读javadoc并理解random()方法的作用。
https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#random()