学生の平均点を指定して学位分類を出力するメソッドprintDegreeClassificationを実装しようとしています。このメソッドは、オブジェクトタイプStudentの引数を1つ取り、値を返さないようにする必要があります。クラスの生徒には次のメソッドがあります。publicintgetAverage(); そして次のように分類:最初の70+、上の2番目の60-67、下の2番目の50-59、3番目の40-49、合格30-39、不合格0-29
私のコードは次のとおりです。
public void printDegreeClassification(Student a){
int b = a.getAverage();
if (b>=70){
System.out.println("First");
}else if(b>=60){
System.out.println("Upper Second");
}else if(b>=50){
System.out.println("Lower Second");
}else if(b>=40){
System.out.println("Third");
}else if(b>=30){
System.out.println("Pass");
}else{
System.out.println("Fail");
}
public class Student {
public int getAverage();
}
public static void main(String[] args) {
Student result = new Student();
result.printDegreeClassification(result);
}
}
私は正しいですか?これは私の初めてのJavaプログラムです。
あなたが学んでいるとき、それを正しく学んでください。以下はモジュール化されたプログラムです。稼働するプロジェクトで私たちが正しいことに近い:
StudentDto.java学生オブジェクトのプロパティをカプセル化するクラス。フィールドはプライベートであり、それぞれのフィールドにアクセス/変更するためのゲッター/セッターメソッドがあります。
public class StudentDto {
private int average;
public StudentDto(int average) {
this.average = average;
}
public int getAverage() {
return average;
}
public void setAverage(int average) {
this.average = average;
}
}
StudentUtil.java平均点に基づいて程度を評価することはユーティリティメソッドであり、すべてのユーティリティメソッドを含む共通のutilクラスの下に保持されます。これらのメソッドはどのオブジェクトにもバインドされていないため、静的である必要があることに注意してください。
学位を評価するためにstudentオブジェクトのプロパティを1つだけ使用しているため、オブジェクト自体を渡す必要はなく、平均値を渡すだけです。そして、このメソッドは呼び出し元のメソッドに値を返す必要があります。
public class StudentUtil {
public static String getDegreeClassification(int averageMarks) {
String degreeClassification = null;
if (averageMarks >= 0) {
if (averageMarks >= 70) {
degreeClassification = "First";
} else if (averageMarks >= 60) {
degreeClassification = "Upper Second";
} else if (averageMarks >= 50) {
degreeClassification = "Lower Second";
} else if (averageMarks >= 40) {
degreeClassification = "Third";
} else if (averageMarks >= 30) {
degreeClassification = "Pass";
} else {
degreeClassification = "Fail";
}
} else {
degreeClassification = "Average cannot be less than ZERO";
}
return degreeClassification;
}
}
Student.javaは、mainメソッドが存在するクラスです。このクラスは、アプリケーションが起動する場所です。mainメソッドは、Student、Teacherなどのドメインオブジェクトに保持されません。
public class Student {
public static void main(String[] args) {
StudentDto studentDto = new StudentDto(50);
String degree = StudentUtil.getDegreeClassification(studentDto.getAverage());
System.out.println(degree);
}
}
これがお役に立てば幸いです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加