.lT-Mobile 5:01 PM ? https://elearning.utdallas.edu 28 The following Notepad fil
ID: 3912860 • Letter: #
Question
.lT-Mobile 5:01 PM ? https://elearning.utdallas.edu 28 The following Notepad files are expected to be submitted as the solution to Problem 1 TwoDFigure.txt .Circle.txt Rectangle.txt FigureCalculatortxt Problem 2: PARTI Create an abstract Java class named "Student" in a package named "STUDENTS. This class has 4 attributes (1) student ID: protected, an integer of 10 digits . (2) student name: protectecd (3) student group code: protected, an integer (1 for undergraduates, 2 for graduate students) (4) student major: protected (e.g.: Business, Computer Class Student declaration provides a default constructor, get methods and set-methods for the attributes, a public abstract method (displayStudentData0). PART II: Create a Java class named "Undergraduate in the same package, i.e. STUDENTS, that extends the above class Student. Class Undergraduate has its own one attribute undergradLevel: private, a String, to indicate the student level: freshman, sophomore, junior, or senior Class Undergraduate declaration provides: .a default constructor another constructor that accepts 4 parameters: student ID student full name, major, and undergraduate level . get-method and set-method of its own attribute . a method to return the priority code to register classes (return 1 if senior, 2 if junior, and so on) .a method (displayStudentData)) that implements the abstract and prints out information of a student in a format like the following sample (all in one line): Student ID: 1234567890; John Smith; senior undergraduate; BusinessExplanation / Answer
Hi,
Please find the java classes below:
//////////////////////////////////////////
public abstract class Student {
protected int studentID;
protected String name;
protected int groupCode;
protected String major;
//Constructor
public Student(){
}
//Setters and Getters
public int getStudentID() {
return studentID;
}
public void setStudentID(int studentID) {
this.studentID = studentID;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getGroupCode() {
return groupCode;
}
public void setGroupCode(int groupCode) {
this.groupCode = groupCode;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public abstract void displayStudentData();
}
///////////////////////////////////////////
public class Undergraduate extends Student {
private String undergradeLevel;
//Constructors
public Undergraduate(){
}
public Undergraduate(int id,String name,String major,String level){
super.studentID=id;
super.name=name;
super.major=major;
this.undergradeLevel=level;
}
public String getUndergradeLevel() {
return undergradeLevel;
}
public void setUndergradeLevel(String undergradeLevel) {
this.undergradeLevel = undergradeLevel;
}
public int priorityCode() {
if(undergradeLevel.equalsIgnoreCase("senior"))
return 1;
else if(undergradeLevel.equalsIgnoreCase("junior"))
return 2;
else if(undergradeLevel.equalsIgnoreCase("sophomore"))
return 3;
else
return 4;
}
@Override
public void displayStudentData() {
System.out.println("StudentID:" + studentID
+ "; " + name
+ "; " + "undergraduate"
+ "; " + undergradeLevel
+ "; " + major);
}
}
///////////////////////////////////////
public class Graduate extends Student {
private boolean isTaRa;
//Constructors
public Graduate(){
}
public Graduate(int id,String name,String major,boolean TaRa){
super.studentID=id;
super.name=name;
super.major=major;
this.isTaRa=TaRa;
}
@Override
public void displayStudentData() {
System.out.println("StudentID:" + studentID
+ "; " + name
+ "; " + getTaRaString()
+ "; " + "graduate"
+ "; " + major);
}
public boolean isTaRa() {
return isTaRa;
}
public void setTaRa(boolean taRa) {
isTaRa = taRa;
}
private String getTaRaString(){
if(isTaRa)
return "TA";
else
return "RA";
}
}
////////////////////////////////////////////
import java.util.Scanner;
public class StudentDisplayer {
public static void main(String[] args){
int workLevelChoice;
Student s;
Scanner input = new Scanner(System.in);
System.out.print("Enter course work level:");
workLevelChoice = input.nextInt();
s= takeInput(input,workLevelChoice);
s.displayStudentData();
}
public static Student takeInput(Scanner input,int choice){
int id;
String name;
String major;
String level;
String status;
boolean taRa;
Student student=null;
switch(choice){
case 1:
id=validateStudentID(input);
name=validateName(input);
System.out.print("Enter student major:");
major = input.next();
level = validateUndergradLevel(input);
student=new Undergraduate(id,name,major,level);
break;
case 2:
id=validateStudentID(input);
name=validateName(input);
System.out.print("Enter student major:");
major = input.next();
taRa = validateTaRa(input);
student=new Graduate(id,name,major,taRa);
break;
}
return student;
}
public static int validateStudentID(Scanner input){
int id=0;
boolean proceed=true;
while(proceed){
System.out.print("Enter student id:");
id=input.nextInt();
if(id > 0)
proceed=false;
}
return id;
}
public static String validateName(Scanner input){
String name=null;
boolean proceed=true;
while(proceed){
System.out.print("Enter student name:");
name=input.next();
if(name.equalsIgnoreCase(" ")
||name.equalsIgnoreCase("")) {
proceed = true;
continue;
}
proceed=false;
}
return name;
}
public static String validateUndergradLevel(Scanner input){
String level=null;
boolean proceed=true;
while(proceed){
System.out.print("Enter student graduate Level:");
level=input.next();
if(level.equalsIgnoreCase("freshman")||
level.equalsIgnoreCase("sophomore")||
level.equalsIgnoreCase("junior")||
level.equalsIgnoreCase("senior")) {
proceed = false;
break;
}
proceed=true;
};
return level;
}
public static boolean validateTaRa(Scanner input){
boolean status=true;
String str;
boolean proceed=true;
while(proceed){
System.out.print("Enter student teaching status:");
str=input.next();
if(str.equalsIgnoreCase("1")||
str.equalsIgnoreCase("0")
) {
proceed = false;
break;
}
if(str.equalsIgnoreCase("1"))
status=true;
if(str.equalsIgnoreCase("0"))
status=false;
proceed=false;
};
return status;
}
}
////////////////////////////////////////////////////
Hope this helps.
you can improve the StudentDisplayer class.
Let me know if something is missing.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.