将一个数组复制到另一个调用方法

Copying one array into another calling method

我目前正在为我的大学期末考试 Java 学习,我正在做过去的论文来准备。我遇到了以下问题,我需要创建一个方法来接收成绩的字符串数组并计算总数,将成绩转换为 UCAS 关税点(之前的问题),我创建了以下内容:

public class Test
{
    
    public static void main(String[] args)
    {
        System.out.println(getUcasTariff("B"));
        
    }

    public static int getUcasTariff(String grade)
    {   int points = 0;
        if(grade.equals("A*"))
        {
          return points = 56;  
        }
        else if(grade.equals("A"))
        {
            return points = 48;
        }
        else if(grade.equals("B"))
        {
            return points = 40;
        }
        else if(grade.equals("C"))
        {
            return points = 32;
        }
        else{
        return points = 0;
        }
    }

    public static int getTotalUcasTariff(String[] grades)
    {   int[] totalPoints = new int[grades.length];
        for(int i = 0; i < grades.length; i++) {

在这里,我需要遍历成绩数组并调用方法 getUcasTariff 将字符串更改为 int 并将其存储到我创建的新数组 totalPoints 中。不过我做不到。

        }
        int sum = 0;
        for (int i : totalPoints) {
        sum += i;
        }
        return sum;
    }
}

如果有人能指出正确的方向,或者指出更好的方法,那就太好了。

只需遍历数组,单独转换每个年级并添加 return 值:

public class Test {

    public static void main(String[] args) {
        System.out.println(getTotalUcasTariff(args));
        System.out.println(getTotalUcasTariff(new String[] {"B", "A*"}));
    }

    public static int getUcasTariff(String grade) {
        int points = 0;
        if (grade.equals("A*")) {
            points = 56;
        } else if (grade.equals("A")) {
            points = 48;
        } else if (grade.equals("B")) {
            points = 40;
        } else if (grade.equals("C")) {
            points = 32;
        } else {
            points = 0;
        }
        return points;
    }

    public static int getTotalUcasTariff(String[] grades) {
        int totalPoints = 0;
        for (String grade : grades) {
            totalPoints = totalPoints + getUcasTariff(grade);
        }
        return totalPoints;
    }
}

带命令行参数和不带参数的输出

$ java Test.java "A*" "B"
96
96
$ java Test.java         
0
96