如何在Java中找到数组的均值? [重复]

问题描述 投票:-2回答:1

我正在尝试查找随机数组中给定值的平均值。到目前为止,这是我所做的:

    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
java arrays mean
1个回答
0
投票

正如每个人都提到的,有容易纠正的错误。这个:

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的小数位将被截断。

© www.soinside.com 2019 - 2024. All rights reserved.