我不明白为什么我在编译代码时遇到这些错误。
错误:F:\ G \ programA:operator *不能应用于int,double []
错误:F:\ G \ programA:operator - 不能应用于double,double []
import java.io.*;
public class programA
{
public static void main (String [] args) throws IOException
{
BufferedReader myInput = new BufferedReader (new InputStreamReader (System.in));
int points = 100, dimension = 3;
double [] length;
length = new double [dimension];
double [][] loc;
loc = new double [points][dimension];
for (int x = 0; x < points; x++){
for (int y = 0; y < dimension; y++){
location [x][y]= (Math.random() * (2 *length)) - length;
}
}
}
}
答案 0 :(得分:3)
2 *length
您将数组乘以int。不会发生。围绕它的代码有点不清楚,但是因为你试图设置一个数组元素,你需要获得length
的单个元素,例如length[0]
或length[someIntInRange]
此外,location [x][y]
应为loc[x][y]
,因为没有名为location的字段。
答案 1 :(得分:1)
由于代码不清楚,我假设你需要
loc [x][y]= (Math.random() * (2 *length[y])) - length[y];
无法在数组和数字之间进行数学运算。
答案 2 :(得分:0)
我不明白为什么我在编译时遇到这些错误 代码。
错误:F:\ G \ programA:operator *不能应用于int,double []
错误:F:\ G \ programA:operator - 不能应用于double,double []
您正尝试将int
及更高版本double
与double
类型的 数组 相乘。这是不可能的。如果要与数组中的所有值相乘,则需要对其进行迭代才能执行此操作。
答案 3 :(得分:0)
你的问题是一个未定义的操作......
double [] length;
length = new double [dimension];
...
(2 *length)
您需要从长度数组中选择一个值。