首页 > 解决方案 > java中的数据类型和计算平均值

问题描述

我正在研究一个 java 代码,它计算 N 个学生的数组中的平均成绩,当我输入像 {3,4,3} 这样的成绩但当我使用像 {3.7,2.5, 3.2} 它开始给我错误,例如,我想创建一个数据类型为 Student 的类。

import java.util.*;
public class ArrayAverageProblem { 
   public static void main(String[] args) { 
      System.out.println("Enetr number of students : "); 
      Scanner adnan = new Scanner(System.in); 
      int length = adnan.nextInt(); 
      int[] input = new int[length]; 
      System.out.println("Enter cgpa of students : "); 
      for (int i = 0; i < length; i++) { 
         input[i] = adnan.nextInt(); 
      } 
      double averageCgpa = averageCgpa(input); 
      System.out.println("Average of students cgpa :  " + averageCgpa); 
      adnan.close(); 
   }   
   public static double averageCgpa(int[] input) { 
      double sum = 0f; 
      for (int number : input) { 
         sum = sum + number; 
      } 
      return sum / input.length; 
   } 
}

任何帮助将非常感激。

标签: javaarraysclasstypes

解决方案


问题在于输入数组数据类型。如果输入数组也需要双精度值(带小数),则需要将输入数组作为双精度值。

请更改以下行

int[] input = new int[length];

double[] input = new double[length];

和下线

input[i] = adnan.nextInt(); 

input[i] = adnan.nextDouble(); 

它适用于两种类型的数字(带和不带小数)。

我希望这能解决您面临的问题。


推荐阅读