Java 将字符串数组更改为整数

Java 将字符串数组更改为整数,java,arrays,Java,Arrays,我正在尝试创建一个方法来获取字符串数组,并将元素复制到整数数组中,然后计算平均值。不确定我是走对了路还是完全错了 public static double CalculateAvg(String [] Grades) { int []Exams = new int[Grades.length]; double AVG =0; int sum = 0; int j = 0; for (int i = 0; i <= Grades.length;

我正在尝试创建一个方法来获取字符串数组,并将元素复制到整数数组中,然后计算平均值。不确定我是走对了路还是完全错了

 public static double CalculateAvg(String [] Grades)
   {
    int []Exams = new int[Grades.length];
    double AVG =0;
    int sum = 0;
    int j = 0;
    for (int i = 0; i <= Grades.length; i++)
    {
        Exams[i] = Integer.parseInt(Grades[i]);
        Exams[i] = j;
        sum +=j;
        AVG= (double)sum/4;
    }
    //return AVG;
   }
}
公共静态双重计算avg(字符串[]等级)
{
int[]考试=新的int[成绩.长度];
双平均值=0;
整数和=0;
int j=0;

对于(int i=0;i您有很多冗余变量。请尝试:

public static double CalculateAvg(String [] Grades) {
    double sum = 0;
    for (int i = 0; i < Grades.length; i++) {
        sum += Integer.parseInt(Grades[i]);
    }
    return sum/Grades.length;
}

要计算平均值,需要除以元素数 我想这就是你要找的

           public static double CalculateAvg(String [] Grades)
           {
              int []Exams = new int[Grades.length];
              double AVG =0;
              int sum = 0;
              int j = 0;
              for (int i = 0; i <= Grades.length; i++)
               {
                 Exams[i] = Integer.parseInt(Grades[i]);

                 AVG= (double) Exams[i]/Grades.length;
                 }
            return AVG;
           }
公共静态双重计算avg(字符串[]等级)
{
int[]考试=新的int[成绩.长度];
双平均值=0;
整数和=0;
int j=0;

对于(inti=0;i,您还可以尝试Java 8流和Lambda表达式,如下图所示:

    public static double calculateAverage(String[] grades)
    {
    return Arrays.stream(grades)
                 .map(grade->Double.parseDouble(grade))
                 .reduce(0.0,(sum, grade) -> sum + grade)/grades.length;
    }

为什么需要
int j
变量?为什么要除以4?
    public static double calculateAverage(String[] grades)
    {
    return Arrays.stream(grades)
                 .map(grade->Double.parseDouble(grade))
                 .reduce(0.0,(sum, grade) -> sum + grade)/grades.length;
    }