我正在为一个测验得分编写一个程序,我在main方法中有数组,我需要在一个单独的类中提供一个合适的构造函数和方法,“addQuizScore(int score)”,“getTotalScore”。我还是Java的新手,并坚持如何正确地做到这一点。
import java.util.*;
public class StudentQuiz
{
public static void main(String[] args)
{
int [] score = {7,8,5,6,0,10,7,6};
StudentQuizInfo newStudent = new StudentQuizInfo(score);
System.out.println("total score: " +newStudent.getTotalScore());
}
}
import java.util.*;
public class StudentQuizInfo {
private int overallScore = 0;
private int totalScore = 0;
public StudentQuizInfo(int[] score) {
}
public int addQuizScore(int [] score)
{
int k;
int overallScore = 0;
for(k = 0; k <score.length; k++)
{
overallScore = overallScore + score[k];
}
return overallScore;
}
int getTotalScore()
{
int totalScore = overallScore;
return totalScore;
}
}
ATM代码打印totalscore: 0
,这是不正确的。
我意识到我当前的代码非常差,所以任何有关我如何纠正这一点的指示都会非常感激,尤其是如何正确使用addQuizScore。 感谢
答案 0 :(得分:3)
添加
newStudent.addQuizScore(score);
后
StudentQuizInfo newStudent = new StudentQuizInfo(score);
应该解决问题。
此外,您的架构有点奇怪。你的构造函数没有按现在的方式执行任何操作。正如你有一个名为addQuizScore
的方法,我假设你不需要在StudentQuizInfo
对象中保留分数,这样你就可以安全地从构造函数中删除int[] score
参数。上课。
变量overallCore
和totalScore
似乎也是多余的。
答案 1 :(得分:0)
像这样更改构造函数
public StudentQuizInfo(int[] score) {
addQuizScore(score)
}
或
StudentQuizInfo newStudent = new StudentQuizInfo(score);
newStudent.addQuizScore(score);