私は基本的に1つのメソッド(getMarks)でユーザーからマークを取得するクラス(MarkCollection)を持っており、別のメソッド(getAverage)のマークの平均を取得し、最後に3番目のメソッド(getGrades)の平均マーク。複数の方法で複数変数を使用するにはどうすればよいですか?
getGradesメソッドが得られるまで、すべてが完全に機能します。私が知る必要があるのは、どのようにしてgetGradesメソッドに '平均'変数(マークの平均値を格納する)を取得するのかです。 getGradesメソッドは、平均値に基づいて得られるグレードを取得するために、 'average'変数をとり、IFステートメントに挿入する必要があります。
つまり、getAverageメソッドのように変数 'average'(getAverageメソッド内に同じ値が格納されている変数)をgetGradesメソッドに取得して平均値を正しく計算するにはどうすればよいですか?
class MarkCollection extends Main {
Scanner input = new Scanner(System.in);
int length = 3;
int[] marks = new int[length];
public void getMarks(){
for (int counter = 0; counter < length; counter++) {
System.out.println("enter mark number " + (counter + 1));
marks[counter] = Integer.parseInt(input.next());
}
input.close();
}
public void getAverage(){
int sum = 0;
for(int i=0; i < marks.length ; i++)
sum = sum + marks[i];
//calculate average value
double average = sum/marks.length;
System.out.println("Students Mark average is : " + average);
}
すべてがこの方法まで正常に動作します。プログラムは '平均'変数を認識しません。このメソッドは、以前のメソッドと同じように平均変数を認識し、その中に同じ値が格納されています。
public void getGrade(){
double grade;
if (average >= 90) {
grade = 1.1;
} else if (average >= 70) {
grade = 2.1;
} else if (average >= 50) {
grade = 2.2;
} else if (average >= 70) {
grade = 2.1;
} else if (average < 50) {
grade = 3.0;
System.out.println("The Students Grade is = " + grade);
}
}
}
はgetGrade方法と同じクラスに位置getAverage方法ありますか? –
は 'getAverage()'がdoubleを返してそのシグネチャが 'public double getAverage()'になるように 'getGrade()'を変更し、平均値を引数として 'getGrade(double average) 'になるように変更します。 –
今すぐケビンを試してください、はい、それは同じクラスにあります。 –