取一个数组的平均值

时间:2013-05-18 02:37:59

标签: java arrays average

我正在尝试整合一个java程序来执行以下操作:

  1. 提示并读入多个整数来阅读
  2. 创建一个可容纳多个整数的数组
  3. 使用循环读取整数值以填充数组
  4. 计算数组中的平均值(作为整数)
  5. 这是我到目前为止(虽然我很确定这是错误的):

    public static void Average (Scanner keyboard)
    {
        System.out.println("Please insert number of integers to read in: ");
        keyboard = new Scanner(System.in);
        int f = keyboard.nextInt();
        int value[]= new int[f];
        //I don't know if I should use a while loop here or what the arguments should be
    }
    

    为了设置循环,条件应该是什么?

5 个答案:

答案 0 :(得分:3)

让我们来看看你需要计算一个平均值以及你现在拥有的东西。

你需要什么

  • 值的总数
  • 某处保留值的总和

你有什么

  • 值的总数
  • 获取新值的来源

现在,从您的代码中,您似乎没有地方可以添加所有数字。这很容易解决;你知道如何声明一个新变量。

你也没有这些价值观,但你确实拥有可以从中获取价值的地方。由于您还知道需要总结多少个数字,因此您可以使用循环从源中获取那么多数字。

总而言之,您希望循环运行f次。在该循环中,您将需要获取新的数字并将其添加到其余部分。最后,您应该能够从所有这些中获得平均值。

答案 1 :(得分:0)

更好的想法是提示用户一次输入所有值,用空格分隔。 IE

2 4 1 1 6 4 2 1

然后,您可以调用split() function f或字符串将其拆分为字符串数组,然后使用Integer.parseInt()函数将此字符串数组转换为整数数组。

一旦你有了你的数组,这是一个简单的for循环,将所有的值加在一起并除以该数组的长度。

答案 2 :(得分:0)

您可以输入while循环或for循环来输入数字。连同输入,继续获取数字的sum。由于您拥有总值数: Average= (sum of numbers)/ total numbers

我会写伪代码,这会强迫你搜索更多:

//Pseudo code starts after your array declaration

for loop from 0 to f
  store it in values Array
  save sum of numbers: sum= sum+values[i]
loop ends
calculate Average

答案 3 :(得分:0)

public static void Average (Scanner keyboard)
{
    System.out.println("Please insert number of integers to read in: ");
    keyboard = new Scanner(System.in);
    int f = keyboard.nextInt();
    int value[]= new int[f];

    double avg = 0;
    for (int i = 0; i < f; i++)
    { 
       value[i] = keyboard.nextInt();
       avg += value[i];   
    }

    avg /= f;
    System.out.println("Average is " + avg);
}

我没有看到数组value的重点。或者你想要其他一些平均值?

答案 4 :(得分:0)

我(和朋友一起)写了一个计算平均数的代码:

package dingen;
import java.util.Scanner;


public class Gemiddelde {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner sc = new Scanner(System.in);

    float maxCount = 0;
    float avgCount = 0;

    System.out.println("How many numbers do you want");

    int n = sc.nextInt();

    for(int i = 0; i < n; i++) {
        System.out.println("Number: ");
        float number = sc.nextInt();
        maxCount = maxCount + number;

    }

    avgCount = maxCount / n;
    System.out.println("maxCount = " + maxCount);
    System.out.println("avgCount = " + avgCount);
}

}

您唯一需要做的就是更换您的课程和包裹。

你会得到这样的信息:你想要多少个号码?:

然后它会问你插入的数字量。

示例:

你想要几个号码?:6

数量:6

编号:7

数量:8

数:9

数:93

数:94

maxCount = 217.0

avgCount = 36.166668

我希望我帮助你解决问题:)