麻烦将随机数分配给2d数组

时间:2014-10-19 04:49:56

标签: java arrays

我是java的新手,并且遇到了一些麻烦。我已经在这里和其他有类似问题的地方查看了其他代码,但我不理解库文件等。我现在试图理解基础知识。任何帮助,将不胜感激。我目前的代码是:

public static void main(String[] args) {

        double[][] father = new double[25][25];
        for (int i = 0; i < 25; i++){
            father[i] = Math.random();
            for (int j = 0; j < 25; j++){
                father[j] = Math.random();
            }

        }

3 个答案:

答案 0 :(得分:0)

我不知道java但是2d数组应该像这样工作

public static void main(String[] args) {

        double[][] father = new double[25][25];
        for (int i = 0; i < 25; i++){
            for (int j = 0; j < 25; j++){
                father[i][j] = Math.random();
            }

        }

答案 1 :(得分:0)

您正在尝试将双精度数组设置为double。当试图在2d数组中指定某个项时,总是使用arrayName [index1] [index2]。

public static void main(String[] args) {

    double[][] father = new double[25][25];
    for (int i = 0; i < 25; i++){
        for (int j = 0; j < 25; j++){
            father[i][j] = Math.random();
        }

    }

答案 2 :(得分:0)

二维数组(如您所拥有)需要两个索引才能引用特定元素。例如father[3][6]是数组的一个元素(一个double,因为它是数组的类型),但father[i]不是。

此外,您应该使用数组长度而不是硬编码值作为迭代限制。这样,如果阵列的大小发生变化,您也不需要更改限制。而不是for (int i = 0; i < 25; i++),你应该使用for (int i = 0; i < father.Length; i++),这样如果数组的长度发生变化,你仍然可以迭代整个事物而不会溢出。

总而言之:

double[][] father = new double[25][25];
for (int i = 0; i < father.Length; i++) {
    for (int j = 0; j < father[i].Length; j++) {
        father[i][j] = Math.random();
    }
}