如何将数组传递给另一个类

时间:2014-02-05 13:29:29

标签: java arrays

我正在为一个测验得分编写一个程序,我在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。 感谢

2 个答案:

答案 0 :(得分:3)

添加

newStudent.addQuizScore(score);

StudentQuizInfo newStudent = new StudentQuizInfo(score);

应该解决问题。

此外,您的架构有点奇怪。你的构造函数没有按现在的方式执行任何操作。正如你有一个名为addQuizScore的方法,我假设你不需要在StudentQuizInfo对象中保留分数,这样你就可以安全地从构造函数中删除int[] score参数。上课。

变量overallCoretotalScore似乎也是多余的。

答案 1 :(得分:0)

像这样更改构造函数

public StudentQuizInfo(int[] score) {
    addQuizScore(score)
}

StudentQuizInfo newStudent = new StudentQuizInfo(score);
newStudent.addQuizScore(score);