我是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();
}
}
答案 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();
}
}