I didn\'t understand this code of program well , So please comment every line wh
ID: 3652053 • Letter: I
Question
I didn't understand this code of program well , So please comment every line what it do , and please explain in breif any new function and what inside in it's ( ) specially the methods that have 2 parameters ( ___ , ___ )
+++++++ The Code +++++++
import java.io.DataInputStream;
class Person
{
int ID_number;
String name;
void addID(int id){ID_number=id;}
void addName(String n){name=n;}
int getID(){return ID_number;}
String getName(){return name;}
}
class Student extends Person
{
int student_ID;
String college;
String major;
int GPA_average;
void addStudentID(int id){student_ID=id;}
void addCollege(String clg){college=clg;}
void addMajor(String mjr){major=mjr;}
void addGPA(int gpa){GPA_average=gpa;}
int getStudentID(){return student_ID;}
String getCollege(){return college;}
String getMajor(){return major;}
int getGPA(){return GPA_average;}
}
class Main
{
public static void main(String a[])
{
Student[] s = new Student[5];
int inputData=0;
try{
process(s,inputData);
}
catch(Exception e){
System.out.println("Exception -- "+ e);
}
}
static void process(Student[] s, int inputData) throws Exception
{
Functions f = new Functions();
System.out.println("Available Choices::");
System.out.println("1. Input Student Data");
System.out.println("3. Search for a student");
System.out.println("4. Display");
System.out.println("5. exit");
System.out.println("Enter your choice:");
int choice=0;
int choice2=0;
try{
choice = f.getInt();
}
catch(Exception e)
{
System.out.println("Improper integer value");
System.out.println("Exception -- "+ e);
}
switch(choice)
{
case 1: try{
s[inputData]=f.getInput();
}
catch(Exception e)
{
System.out.println("Exception -- "+ e);
}
inputData++;
break;
case 2: System.out.println("Available Choices::");
System.out.println("1. Sort by name");
System.out.println("2. Sort by ID");
try{
choice2 = f.getInt();
}
catch(Exception e)
{
System.out.println("Improper integer value");
System.out.println("Exception -- "+ e);
}
switch(choice2){
case 1: Student temp = new Student();
for(int i=0;i<inputData;i++)
{
for(int j=0;j<inputData;j++)
{
if(s[i].getName().compareTo(s[j].getName())<0)
{
temp=s[i];
s[i]=s[j];
s[j]=temp;
}
}
}
f.printStudents(s,inputData);
break;
case 2: Student temp2 = new Student();
for(int i=0;i<inputData;i++)
{
for(int j=0;j<inputData;j++)
{
if(s[i].getStudentID() > s[j].getStudentID())
{
temp2=s[i];
s[i]=s[j];
s[j]=temp2;
}
}
}
f.printStudents(s,inputData);
break;
default:
}
break;
case 3: System.out.println("Available Choices::");
System.out.println("1. Search for name");
System.out.println("2. Search for ID");
try{
choice2 = f.getInt();
}
catch(Exception e)
{
System.out.println("Improper integer value");
System.out.println("Exception -- "+ e);
}
switch(choice2){
case 1: System.out.println("Enter Student name:");
String name = f.getStr();
for(int i=0;i<inputData;i++)
{
if(name.equals(s[i].getName()))
{
System.out.println("Name:"+s[i].getName());
System.out.println("Student Id:"+s[i].getStudentID());
System.out.println("College:"+s[i].getCollege());
System.out.println("Major:"+s[i].getMajor());
System.out.println("GPA:"+s[i].getGPA());
System.out.println();
}
}
break;
case 2: System.out.println("Enter Student ID:");
int id = f.getInt();
for(int i=0;i<inputData;i++)
{
if(id==s[i].getStudentID())
{
System.out.println("Name:"+s[i].getName());
System.out.println("Student Id:"+s[i].getStudentID());
System.out.println("College:"+s[i].getCollege());
System.out.println("Major:"+s[i].getMajor());
System.out.println("GPA:"+s[i].getGPA());
System.out.println();
}
}
break;
default:
}
break;
case 4: f.printStudents(s,inputData);
break;
case 5: System.out.println("Thank You");
System.exit(0);
default: System.out.println("Invalid Choice");
}
process(s,inputData);
}
}
class Functions
{
void printStudents(Student[] s, int inputData)
{
for(int i=0;i<inputData;i++){
System.out.println("Name:"+s[i].getName());
System.out.println("Student Id:"+s[i].getStudentID());
System.out.println("College:"+s[i].getCollege());
System.out.println("Major:"+s[i].getMajor());
System.out.println("GPA:"+s[i].getGPA());
System.out.println();
}
}
int getInt() throws Exception{
DataInputStream dis = new DataInputStream(System.in);
String data = dis.readLine();
return (Integer.parseInt(data));
}
String getStr() throws Exception{
DataInputStream dis = new DataInputStream(System.in);
String data = dis.readLine();
return (data);
}
Student getInput() throws Exception{
Student s=new Student();
System.out.println("Enter Name:");
s.addName(getStr());
System.out.println("Enter student id");
s.addStudentID(getInt());
System.out.println("Enter College");
s.addCollege(getStr());
System.out.println("Enter Major");
s.addMajor(getStr());
System.out.println("Enter GPA average");
s.addGPA(getInt());
return s;
}
}
Explanation / Answer
import java.io.DataInputStream; // imports Data input stream class from java input out put library class Person // defines class named person { int ID_number; String name; // initialization of variables void addID(int id){ID_number=id;} // declaration of method add Id void addName(String n){name=n;} // declaration of method addName int getID(){return ID_number;} //declaration of method getId String getName(){return name;} // declaration of method getName } class Student extends Person // sub class extending original class { int student_ID; String college; String major; int GPA_average; // initialization and declaration of variables void addStudentID(int id){student_ID=id; // value of studentid ie student.studentid = id;} void addCollege(String clg){college=clg;} // value of student.college = clg; void addMajor(String mjr){major=mjr;} // value of student.major = mjr; void addGPA(int gpa){GPA_average=gpa;} int getStudentID(){return student_ID;} // returns the studentid student.student_id String getCollege(){return college;} // returns college name ie student.college; String getMajor(){return major; // returns major name ie student.major; } int getGPA(){return GPA_average;} // returns gpa of student ie student.GPA_average; } class Main { public static void main(String a[]) // declares given method is static { Student[] s = new Student[5]; // deckaration of an array of student class int inputData=0; // initialization and declaration try{ process(s,inputData); // process method is used here } catch(Exception e){ System.out.println("Exception -- "+ e); // throws exception when exception is caught } } static void process(Student[] s, int inputData) throws Exception { Functions f = new Functions(); // declartion of object named f of type fuctions System.out.println("Available Choices::"); System.out.println("1. Input Student Data"); System.out.println("3. Search for a student"); System.out.println("4. Display"); System.out.println("5. exit"); System.out.println("Enter your choice:"); // printing of available choices int choice=0; int choice2=0; // initialization of variables try{ choice = f.getInt(); // choice is assigned f.get Int } catch(Exception e) { // exception is caught when other than integer is returned System.out.println("Improper integer value"); System.out.println("Exception -- "+ e); } switch(choice) { case 1: try{ s[inputData]=f.getInput(); //when choice == 1 s[inputdata ] = f. getInput } catch(Exception e) { System.out.println("Exception -- "+ e); // throws exception when error is occured } inputData++; // incrementing inputdata break; case 2: System.out.println("Available Choices::"); System.out.println("1. Sort by name"); System.out.println("2. Sort by ID"); //printing available chances try{ choice2 = f.getInt(); // reading choice 2using method f.getInt } catch(Exception e) { System.out.println("Improper integer value"); System.out.println("Exception -- "+ e); // throws exception when exception is caught } switch(choice2){ case 1: Student temp = new Student(); for(int i=0;iRelated Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.