-1
私は学生のサブクラスのためにグレードを印刷しようとしていますが、私はifステートメントや配列のいくつかの型が必要だと思っています。私は3などの数値を渡すことができるコードを作ろうとしています。 Junior "などのコードで呼び出すこともできますが、Student.JUNIORなどのレベルのジュニア印刷が可能です。私の所望の出力は次のようになります。クラスとサブクラスの印刷
class Person {
String name;
String campus;
String phone;
String email;
int FRESHMAN = 1;
int SOPHMORE = 2;
int JUNIOR = 3;
int SENIOR = 4;
public Person(String n, String cam, String cell, String mail) {
name = n;
campus = cam;
phone = cell;
email = mail;
}
public String toString() {
return "Name:" + name + "; Campus:" + campus + "; Phone:" + phone + "; Email:" + email + " ";
}
}
class Student extends Person {
int grade;
public Student(String n, String cam, String cell, String mail, int grade) {
super(n, cam, cell, mail);
}
public String toString() {
return super.toString() + "\nClass:";
}
}
class Employee extends Person {
private String title;
public Employee(String n, String cam, String cell, String mail, String position) {
super(n, cam, cell, mail);
title = position;
}
public String toString() {
return super.toString() + "\nTitle:" + title;
}
}
public class Exam3c {
public static void main(String[] args) {
String name = "David";
String campus = "Terry";
String phone = "302-573-3254";
String email = "[email protected]";
Person P1 = new Person(name, campus, phone, email);
System.out.println("P1: \n" + P1);
Student S1 = new Student(name, campus, phone, email, 1);
System.out.println("S1: \n" + S1);
Student S2 = new Student("Bill While", "Nowhere", "012-345-6789", "[email protected]", 3);
System.out.println("S2: \n" + S2);
Employee E1 = new Employee(name, campus, phone, email, "Faculty");
System.out.println("E1: \n" + E1);
}
}
これまでに学んだことはすべてそれに依存します。列挙型について学んだら、これは良い選択です(ただし、列挙型ではなく列挙型を渡すとします)。そうでない場合、 'switch'ステートメントまたは配列が選択のツールになります。 BTW - 定数が「Student」ではなく「Person」になければならない理由はありません。さらに、インスタンスフィールドではなく 'static final'でなければなりません。 – RealSkeptic
ようこそStackOverflowへ。 [help]にアクセスし、[ask]もお読みください。あなたの質問は、「私は次に何をすべきかわからない」以外の本当の疑問のない、宿題といくつかのコードのダンプです。これは話題外であると考えられています。 –
meh ..私は病気だけで配列にスティックとステートメントを切り替えると思う.. –