gpt4 book ai didi

java - 平均方法数组提示

转载 作者:行者123 更新时间:2023-12-01 13:29:29 25 4
gpt4 key购买 nike

你能给我一个提示,告诉我我在平均方法中的平均值做错了什么吗?我正在尝试调用读取分数中的方法。我正在尝试获取 input.txt 文件中分数的平均值。

import java.io.*;
import java.util.*;
public class FindGrade {
public static final int NUM_SCORE_TYPES = 5;

public static void main(String[] args) {
Scanner scan = null;
int[] quizArray = null;
int[] labArray = null;
int[] attendance = null;
int[] midterms = null;
int quizgrade =0;
int labgrade=0;
int attendance_1=0;
int midterms_1 =0;
String name;


try {
scan = new Scanner(new File("input.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
return;
}

// each iteration is for single exam type (ie: Quizzes is the 1st one)
for (int i = 0; i < NUM_SCORE_TYPES; i++) {

name = scan.next();
int numScores = scan.nextInt();
int maxGrade = scan.nextInt();

if (name.equals("Quizzes")) {
quizArray = new int[numScores];
readScores(quizArray, numScores, scan);


}

else if (name.equals("Labs")) {
labArray = new int[numScores];
readScores(labArray, numScores, scan);

}
else if (name.equals("Lab_attendance")) {
attendance = new int[numScores];
readScores(attendance, numScores, scan);

}
else if (name.equals("Midterms")) {
midterms = new int[numScores];
readScores(midterms, numScores, scan);

}

}

}


public static void readScores(int[] scoreArray, int numScores, Scanner scan) {
for (int i = 0; i < numScores; i++) {
scoreArray[i] = scan.nextInt();
}
}

public static void average(double [] scoreArray, int numScores){
double sum=0;
for(int i=0; i< scoreArray.length; i++){
sum += scoreArray[i];
}
double average = sum/numScores;

System.out.println(sum + " " + average);



}

最佳答案

无论如何,您都不能使用您在其中创建的数组直接调用它。因为数组是 int 类型,但平均方法需要 double 数组。当你改变这个时,你可以调用这样的方法......

public static void readScores(int[] scoreArray, int numScores, Scanner scan) {
for (int i = 0; i < numScores; i++) {
scoreArray[i] = scan.nextInt();
}

average(scoreArray, numScores); // <----- Call it here
}

public static void average(int[] scoreArray, int numScores){
double sum=0;
for(int i=0; i< scoreArray.length; i++){
sum += scoreArray[i];
}
double average = sum/numScores;
System.out.println(sum + " " + average);
}

关于java - 平均方法数组提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21653931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com