我正在尝试查找随机数组中给定值的平均值。到目前为止,这是我所做的:
int n = args.length;
int [] nums = new int [n];
int i = 0;
int sum = 0;
for (int i = 0; i <n; i ++) {
nums [i] = Integer.parseInt[i];
}
for (int i = 0; i < n ; i ++ ) {
i = i +1;
sum = sum + nums [i];
}
System.out.println(sum / n);
}
该数组由在命令行中输入的参数组成。在第一个循环中,我将这些参数存储在数组中,在第二个循环中,我想添加每个参数,最后将总和除以数组的长度。这是我得到的错误:
MeanVariance.java:8: error: variable i is already defined in method main(String[])
for (int i = 0; i <n; i ++) {
^
MeanVariance.java:9: error: cannot find symbol
nums [i] = Integer.parseInt[i];
^
symbol: variable parseInt
location: class Integer
MeanVariance.java:12: error: variable i is already defined in method main(String[])
for (int i = 0; i < n ; i ++ ) {
^
3 errors
正如每个人都提到的,有容易纠正的错误。这个:
error: variable i is already defined in method main(String[])
因为您已经声明了int i = 0
,所以您不能在条件声明中再次使用i。下一个:
nums [i] = Integer.parseInt[i];
这通常从字符串中创建一个整数,但是您给此方法不是字符串,而是您在for语句中定义的int。
此代码将完成这项工作(使用示例数字,您可以自己将数字传递给它:]
int [] nums = {1, 2, 4, 9, 16};
double sum = 0;
for (int i = 0; i < nums.length; i ++) {
sum += nums[i];
}
System.out.println(sum / nums.length);
总之,使用double是明智的,因为否则int的小数位将被截断。