2016-03-24 11 views
-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); 
    } 
} 
+0

これまでに学んだことはすべてそれに依存します。列挙型について学んだら、これは良い選択です(ただし、列挙型ではなく列挙型を渡すとします)。そうでない場合、 'switch'ステートメントまたは配列が選択のツールになります。 BTW - 定数が「Student」ではなく「Person」になければならない理由はありません。さらに、インスタンスフィールドではなく 'static final'でなければなりません。 – RealSkeptic

+0

ようこそStackOverflowへ。 [help]にアクセスし、[ask]もお読みください。あなたの質問は、「私は次に何をすべきかわからない」以外の本当の疑問のない、宿題といくつかのコードのダンプです。これは話題外であると考えられています。 –

+0

meh ..私は病気だけで配列にスティックとステートメントを切り替えると思う.. –

答えて

-1

私はあなたが列挙型を探していると思います。彼らには非常に便利な機能がたくさんあります。 「Magic Ints」がそうでないように、型の安全性に加えて、デバッグのために文字列としてかなり流動的に扱うこともできます。

関連する問題