Java 如何使用随机值填充二维数组

Java 如何使用随机值填充二维数组,java,multidimensional-array,random,Java,Multidimensional Array,Random,我有一个任务,用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++)

我有一个任务,用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]);
        }
     }
 }
}
import java.util.*;
三乘四公务舱
{
公共静态void main(字符串[]args)
{
整数值[][]=新整数[3][4];
对于(int i=0;i
你可以做
Math.round(Math.random()*10)
。我建议阅读javadoc并理解random()方法的作用


代码中的外观问题:

比如:

values[i][j] = ((int)Math.random());
这会将所有元素赋值为零,因为随机值的返回值介于0和1之间[0,1],而转换为整数将返回零

这是:

for (int j = 0; j < values.length; j++) 
for(int j=0;j
第二个for循环会更好,如果你计算那一行的元素…就像我在评论中写的那样

i、 e正在做:

for (int j = 0; j < values[i].length; j++) {
for(int j=0;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");
}
publicstaticvoidmain(字符串[]args){
整数值[][]=新整数[3][4];
对于(int i=0;i
它当然会打印出所有的零。Math.random()返回什么?当您将其转换为int时,如何使其打印0-9(包括0-9)。很抱歉,我对java和一般代码非常陌生。random()call为您提供0到1之间的数字。
int
cast会将它们全部变为零。请将
int
留待自己查看。您可以将
random()
的结果乘以10,得到0到9之间的整数。