0

2つのクラスがあります。クラス 1 にはメソッドがあります。クラス 2 はメソッドを呼び出します。クラス 1 の助けが必要な部分を示しますが、クラス 2 よりもはるかに短いため、クラス 2 の全体を含めます。

クラス1

public void setHomeworkSum() {
        homeworkSum =+ homeworkScore;
    }

    public int getHomeworkSum() {
        return homeworkSum;
    }

クラス2

 import java.io.File;
 import java.io.FileNotFoundException;
 import java.util.Scanner;


 public class CourseGrade {

public static void main(String[] args) {


    Student myStudent = new Student();


    myStudent.openFile();

    myStudent.setNumberOfStudents();

    System.out.format("%-10s %25s %15s %10s", "Name", "Assignment score", "Test score", "Grade\n");
    System.out.println();

    for(int i = 1; i <= myStudent.getNumberOfStudents(); i++){

    myStudent.setDefault();

    myStudent.setFirstName();

    myStudent.setLastName();

    myStudent.setHomeworkScore();

    myStudent.setTestScore();

    myStudent.setHomeworkScore();

    myStudent.setTestScore();

    myStudent.computeGrade();


    System.out.format("%-19s %1s %21s %13s", myStudent.getFirstName() + " " +      myStudent.getLastName(), myStudent.getHomeworkScore(), myStudent.getTestScore(), myStudent.getGrade() +"\n");

    myStudent.setPassFail();

    myStudent.setHomeworkSum();

    }

    System.out.println();
    System.out.println("No. of students passed: " + myStudent.getPass());
    System.out.println();
    System.out.println("No. of students failed: " + myStudent.getFail());
    System.out.println();
    System.out.println("sum: " + myStudent.getHomeworkSum());

}

}

基本的に、私が抱えている問題は、すべての宿題の合計を返すのではなく、読み取った最新の個々の宿題を返すことです。

Output:

Name                Assignment score      Test score     Grade

Anthony Hopkins     854                   284            G
John Smith          730                   214            A
Pan Mei             730                   267            A
Rafael Vega         801                   236            A

No. of students passed: 4

No. of students failed: 0

mean 801

(上の部分は正しく変換されませんでしたが、おわかりいただけたでしょうか。)

4

1 に答える 1

4

への変更

homeworkSum += homeworkScore;

持っていた

homeworkSum =+ homeworkScore;

これは、スペースを入れると、基本的には

homeworkSum = +homeworkScore;

そのため、常に変数に最後の値を代入しています。

于 2013-10-19T21:37:14.507 に答える