java - 在数组旁边显示平均值

标签 java arrays string return average

我是 Java 新手,所以很抱歉。

我有两个数组:

int[] grades = {64,55,45,67,65,88};
String[] unitCode = {"APP:","BSAD:","CF","DAD:","N&CS:","POP:"};

我需要将每一个都放在一起形成:

[APP:64, BSAD:55, CF45, DAD:67, N&CS:65, POP:88]

我已经成功地用这段代码实现了这一点:

    public String[] unitMarks(int[] grades, String[] unitCode) 
    {
        double sum = 0;
        for (double i : grades)
        sum += i;
        double average = (sum/grades.length);

            for (int i = 0; i <grades.length; i++)
            {
                String combination = unitCode[i]+grades[i];
                unitCode[i] = combination;

        }

            return unitCode;
    }

但我还需要在其末尾显示平均成绩,因此应该显示:

[APP:64, BSAD:55, CF:45, DAD:67, N&CS:65, POP:88, Average:64.0]

我已经编写了用于查找成绩数组平均值的代码。我只是在使用组合数组返回平均值时遇到问题(并且还在其之前显示“平均值:”)。

我尝试过做类似的事情 -

String includedAverage = unitCode+" Average:"+average;
return includedAverage;

但随后它开始说它无法从 String 转换为 String[]。 如果我将方法返回类型更改为 String 它不起作用:

System.out.println(Arrays.toString(myArrays.unitMarks(grades, unitCode)));

任何帮助或指示都会很棒。谢谢。

最佳答案

您可以添加一个比 unitcode 数组多一个空间的结果数组,并向其分配值,而不是修改输入:

public String[] unitMarks(int[] grades, String[] unitCode) {
    double sum = 0;
    for (double i : grades) {
        sum += i;
    }
    double average = (sum / grades.length);
    String[] result = new String[grades.length +1];
    for (int i = 0; i < grades.length; i++) {
        String combination = unitCode[i] + grades[i];
        result[i] = combination;
    }
    result[result.length-1]= "Average:"+average;
    return result;
}

关于java - 在数组旁边显示平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58544815/

相关文章:

Java Ajax 框架集成

java - 我正在尝试解析 XML 文件,但在修复收到的错误时遇到一些问题

C++ 将大型数组中的最新值存储在单独的数组中

php - 选择 3 个随机字符串,然后在 PHP 中用逗号分隔它们

c - 大输入数频程序

java - 请求的资源不可用。 Tomcat 7.0

java - 将项目的 .class 文件输出到 Eclipse 中另一个项目的资源文件夹

arrays - 二维数组不同列大小

将索引替换为加在一起的下 4 个索引的 Java 代码

printf 可以打印定义的字符串吗?