实现Java加权平均数的案例

1. 概述

在本文中,我将教你如何使用Java编程语言来实现加权平均数的案例。加权平均数是一种计算平均值的方法,其中每个数据点都被赋予不同的权重。我们将通过以下步骤来实现这个案例:

  1. 输入数据和权重
  2. 计算加权平均数

2. 实现步骤

下表展示了实现加权平均数案例的步骤:

步骤 描述
1 输入数据和权重
2 计算加权平均数

现在让我们一步一步地完成这些步骤。

3. 输入数据和权重

首先,我们需要从用户那里获取数据和权重。我们可以使用Java的Scanner类来实现这一点。以下是获取用户输入的代码:

import java.util.Scanner;

public class WeightedAverage {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 获取数据
        System.out.print("请输入数据个数:");
        int n = scanner.nextInt();
        
        double[] data = new double[n];
        double[] weight = new double[n];

        System.out.println("请输入数据:");
        for (int i = 0; i < n; i++) {
            data[i] = scanner.nextDouble();
        }

        System.out.println("请输入权重:");
        for (int i = 0; i < n; i++) {
            weight[i] = scanner.nextDouble();
        }
        
        // 关闭Scanner对象
        scanner.close();
    }
}

在上述代码中,我们首先创建了一个Scanner对象来读取用户的输入。然后,我们分别获取数据个数、数据和权重,并将它们存储在相应的数组中。最后,我们关闭了Scanner对象。

4. 计算加权平均数

现在,我们已经获取了数据和权重,接下来我们需要计算加权平均数。加权平均数的计算公式如下:

加权平均数 = (∑(数据 * 权重)) / (∑权重)

我们可以通过以下代码来实现加权平均数的计算:

// 计算加权平均数
double weightedAverage = 0;
double sumWeights = 0;

for (int i = 0; i < n; i++) {
    weightedAverage += data[i] * weight[i];
    sumWeights += weight[i];
}

weightedAverage /= sumWeights;

System.out.println("加权平均数为:" + weightedAverage);

在上述代码中,我们使用循环遍历数据和权重数组,并根据加权平均数的计算公式计算加权平均数。最后,我们打印出加权平均数的结果。

5. 完整代码

下面是完整的Java代码:

import java.util.Scanner;

public class WeightedAverage {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 获取数据
        System.out.print("请输入数据个数:");
        int n = scanner.nextInt();
        
        double[] data = new double[n];
        double[] weight = new double[n];

        System.out.println("请输入数据:");
        for (int i = 0; i < n; i++) {
            data[i] = scanner.nextDouble();
        }

        System.out.println("请输入权重:");
        for (int i = 0; i < n; i++) {
            weight[i] = scanner.nextDouble();
        }
        
        // 关闭Scanner对象
        scanner.close();

        // 计算加权平均数
        double weightedAverage = 0;
        double sumWeights = 0;

        for (int i = 0; i < n; i++) {
            weightedAverage += data[i] * weight[i];
            sumWeights += weight[i];
        }

        weightedAverage /= sumWeights;

        System.out.println("加权平均数为:" + weightedAverage);
    }
}

6. 测试案例

现在我们可以测试一些输入来验证我们的程序是否正确计算加权平均数。下面是一个示例测试案例:

输入:

请输入数据个数:4
请输入数据:
1
2
3
4
请输入权重:
0.1
0.2
0.3
0.4

输出:

加权平均数为:3.0