gpt4 book ai didi

java - 在java中实现类和对象,调用方法

转载 作者:行者123 更新时间:2023-12-02 06:44:00 25 4
gpt4 key购买 nike

我在调用方法时遇到问题。该程序的基础是从 data.txt 读取数据,获取给定的名称标记,然后获取后面的所有成绩,然后对成绩执行一些操作以提供该人的成绩的详细信息。我在一个名为 Grades.java 的单独文件中执行所有方法,该文件具有 Grades 类。我只是遇到麻烦,因为我的代码中必须有 testGrades 方法(我认为没有必要)。我已经完成了我需要做的一切,以便在不同的程序中获得完美的结果,而无需使用两个不同的 .java 文件。但必须这样做。我想我基本上已经确定了所有事情,我只是对如何实现和调用 testGrades 方法感到困惑。我将其注释掉并询问它在程序中的位置。对于类和对象以及一般的 java 来说都是相当新的。抱歉问了这个蹩脚的问题。

public class Lab2 {

public static void main(String[] args) {

Scanner in = null; //initialize scanner
ArrayList<Integer> gradeList = new ArrayList<Integer>(); //initialize gradeList
//grab data from data.txt
try {
in = new Scanner(new File("data.txt"));
} catch (FileNotFoundException exception) {
System.err.println("failed to open data.txt");
System.exit(1);
}
//while loop to grab tokens from data
while (in.hasNext()) {
String studentName = in.next(); //name is the first token
while (in.hasNextInt()) { //while loop to grab all integer tokens after name
int grade = in.nextInt(); //grade is next integer token
gradeList.add(grade); //adding every grade to gradeList
}

//grab all grades in gradeList and put them in an array to work with
int[] sgrades = new int[gradeList.size()];
for (int index = 0; index < gradeList.size(); index++) {
sgrades[index] = gradeList.get(index); //grade in gradeList put into grades array
}

//testGrades(sgrades); How would I implement this method call?

}
}

public static void testGrades(Grades grades) {
System.out.println(grades.toString());
System.out.printf("\tName: %s\n", grades.getName());
System.out.printf("\tLength: %d\n", grades.length());
System.out.printf("\tAverage: %.2f\n", grades.average());
System.out.printf("\tMedian: %.1f\n", grades.median());
System.out.printf("\tMaximum: %d\n", grades.maximum());
System.out.printf("\tMininum: %d\n", grades.minimum());
}

}

这是 Grades.java 文件开头的一小段

     public class Grades {

private String studentName; // name of student Grades represents
private int[] grades; // array of student grades

public Grades(String name, int[] sgrades) {
studentName = name; // initialize courseName
grades = sgrades; // store grades
}

public String getName() {
return studentName;
} // end method getName

public int length() {
return grades.length;
}

最佳答案

您的测试成绩采用 Grades 对象,因此您需要使用您的数据构造一个 Grades 对象并将其传递给您的测试成绩方法即

Grades myGrade = new Grades(studentName,sgrades);
testGrades(myGrade);

关于java - 在java中实现类和对象,调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18839525/

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