2016-03-24 3 views
-1

Ich versuche, die Note für die Schüler-Unterklasse zu drucken, ich fühle mich wie ich brauche eine Art von if-Anweisung oder array.Ich versuche, einen Code, der eine Zahl wie 3 für " Junior "kann aber auch über einen Code wie Student.JUNIOR aufgerufen werden, um den Jahrgang Junior zu drucken. meine gewünschte Ausgabe ist:Klassen und Unterklasse Drucken

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

Alles hängt davon ab, was Sie bisher gelernt haben. Wenn Sie etwas über Enums gelernt haben, sind sie eine gute Wahl dafür (obwohl ich annehmen würde, dass Sie das Enum selbst lieber als ein int übergeben würden). Wenn nicht, wäre eine 'switch' Anweisung oder ein Array die Werkzeuge der Wahl. BTW - es gibt keinen Grund, warum die Konstanten in "Person" und nicht in "Student" sein sollten. Außerdem sollten sie "statisch final" sein, keine Instanzfelder. – RealSkeptic

+0

Willkommen bei StackOverflow. Bitte besuchen Sie die [Hilfe] und lesen Sie auch [fragen]. Deine Frage ist nur ein Dump von einer Hausaufgabe und etwas Code ohne wirkliche Frage außer "Ich bin mir nicht sicher, was ich als nächstes tun soll". Dies wird außerhalb des Themas betrachtet. –

+0

meh..Ich denke, ich bleibe einfach bei Array und schalte Aussagen dann .. –

Antwort

-1

Ich glaube, Sie für Aufzählungen suchen. Sie haben viele sehr nützliche Funktionen; Abgesehen davon, dass sie gut typsicher sind, so wie es "Magic Ints" nicht sind, können Sie sie auch flüssig als Strings zum Debuggen behandeln.