Source of Undergraduate.java


  1: //Undergraduate.java
  2: 
  3: public class Undergraduate extends Student
  4: {
  5:     private int level; //1 for freshman, 2 for sophomore,
  6:                        //3 for junior, or 4 for senior.
  7: 
  8:     public Undergraduate()
  9:     {
 10:         super();
 11:         level = 1;
 12:     }
 13:     
 14:     public Undergraduate
 15:     (
 16:         String initialName,       //in
 17:         int initialStudentNumber, //in
 18:         int initialLevel          //in
 19:     )
 20:     {
 21:         super(initialName, initialStudentNumber);
 22:         setLevel(initialLevel); //Checks 1 <= initialLevel <= 4
 23:     }
 24:     
 25:     public void reset
 26:     (
 27:         String newName,       //in
 28:         int newStudentNumber, //in
 29:             int newLevel          //in
 30:     )
 31:     {
 32:         reset(newName, newStudentNumber); //Student's reset
 33:         setLevel(newLevel); //Checks 1 <= newLevel <= 4
 34:     }
 35:     
 36:     public int getLevel()
 37:     {
 38:         return level;
 39:     }
 40:     
 41:     public void setLevel
 42:     (
 43:         int newLevel //in
 44:     )
 45:     {
 46:         if ((1 <= newLevel) && (newLevel <= 4))
 47:             level = newLevel;
 48:         else
 49:         {
 50:             System.out.println("Illegal level!");
 51:             System.exit(0);
 52:         }
 53:     }
 54:     
 55:     public void writeOutput()
 56:     {
 57:         super.writeOutput();
 58:         System.out.println("Student Level: " + level);
 59:     }
 60:  
 61:     public boolean equals
 62:     (
 63:         Undergraduate otherUndergraduate //in
 64:     )
 65:     {
 66:         return equals((Student)otherUndergraduate) &&
 67:                (this.level == otherUndergraduate.level);
 68:     }
 69: 
 70:     /*
 71:     // Alternate version 
 72:     public boolean equals
 73:     (
 74:         Undergraduate otherUndergraduate //in
 75:     )
 76:     {
 77:         return super.equals(otherUndergraduate) &&
 78:                (this.level == otherUndergraduate.level);
 79:     }
 80:     */        
 81: }