Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Lab #10 CS1113 Fall 2016 This lab is intended to give you practice creating a cl

ID: 3776918 • Letter: L

Question

 Lab #10 CS1113 Fall 2016   This lab is intended to give you practice creating a class with  a constructor method, accessor methods, mutator methods, equals method , toString method and a equals method.  In this lab you need to create two separate classes, one Student class and other Lab10 class. You need to define your instance variables, accessor methods, mutator methods, constructor, toString method and equals method in Student class.  You need to create objects in Lab10 class which will have your main method and need to add various  functionalities so that you can get the output as shown in sample output.  //  Name: //  Section:  //  Lab 10 //  CS1113 //  Fall 2016 // Class Lab10   public class Lab10 {    //Constants    private final static String NAME = "YOUR NAME"; // replace YOUR NAME with your name    private final static int STUID = 123456789;    private final static double GPA1  = 4.00;    private final static double GPA2  = 2.34;    //main method    public static void main (String[] args)    {       Student stu1;        stu1 = new Student(NAME, STUID, GPA1);         System.out.println(" Name: " + stu1.getName());       System.out.println("Id Number: " + stu1.getIdNum());       System.out.println("GPA : " + stu1.getGPA());       stu1.setGPA(GPA2);       System.out.println(stu1 + " ");        // Create a second student object       // With a name of Trine Thunder, a       // gpa of 4.00, and a student Id of       // 000000001       // You do not need to declare these at final constants,       // but you can if you want to.        // [Add code here]        // Print out this student similar to above.       // You do not need to reset the gpa of this student.        // [Add code here]                      // Check if both objects are same using == and .equals() methods.       // Print the message in both cases, whether same or not as shown in sample output.        // [Add code here]     } // end of main } // end of class Lab10   //  Name: //  Section:  //  Lab 10 //  CS1113 //  Fall 2016 //  Class : Student.java  public class Student {    //class variables    private String name;    private int idNum;    private double gpa;     // Constructor    public Student(String namePar, int idNumPar, double gpaPar)    {       // Save namePar to class variable name        // [Add code here]        // Save idNumPar to class variable idNum        // [Add code here]        // Save gpaPar to class variable gpa        // [Add code here]     }     // Accessor: returns name of student    public String getName()    {       // Return the name of the student         // [Add code here]    }     // Accessor: returns GPA of student    public double getGPA()    {       // Return the gpa of the student        // [Add code here]    }     // Accessor: returns idNum of student    public int getIdNum()    {       // Return the idnum of the Student        // [Add code here]    }      // Mutator: Changes the GPA of the student    public void setGPA(double g)    {       // Set the class variable gpa equal to g        // [Add code here]    }     // toString method: Returns a formatted string    //  of student information.    // As shown in sample output.    public String toString()    {       // declare a String variable to store the string value           // then return the formatted String.        // [Add code here]    }        // implement .equals() method which returns a boolean value    //  of student information. When you call this method,     // it should print message as shown in sample output.    public boolean equals(Student s)    {                 //[Add code here]    } } // end of class Student    1) Fill in the needed code in the file (class)     Student.java (Student) and Lab10.java.     The program will not compile until you do so.      You will have 2 files, one named Lab10.java     and one named Student.java.      Compile the subsidiary class, Student.java,    first, using     javac Student.java     Once you have eliminated any and all syntax errors    in the student class.  Then compile     javac Lab10.java     and eliminate any syntax errors from that class.    Then you can run the program using     java Lab10  2) Run the program and redirect the output to Lab10_out.txt  A Sample output is below:  Name: John Terry Id Number: 123456789 GPA : 4.0 Student Name: John Terry Student Id num:123456789 Student GPA: 2.34   Name: Trine Thunder Id Number: 1 GPA : 4.0 Student Name: Trine Thunder Student Id num:1 Student GPA: 4.0  Using == ..... Both are different.  Using .equals() method..... Both are different.  3) Now change your code so that you pass same values for both stu1 and stu2.    Compile and run your program.    Your output should look like:     Name: John Terry Id Number: 123456789 GPA : 4.0 Student Name: John Terry Student Id num:123456789 Student GPA: 2.34   Name: Trine Thunder Id Number: 1 GPA : 4.0 Student Name: Trine Thunder Student Id num:1 Student GPA: 4.0  Using == ..... Both are different.  Using .equals() method..... Both are different.  Explain why the result is not as expected?  Revert back to your previous version of your java code.    

Explanation / Answer

Hi, Please find my implementation.

Please let me know in case of any issue.

public class Student

{

   //class variables

   private String name;

   private int idNum;

   private double gpa;

   // Constructor

   public Student(String namePar, int idNumPar, double gpaPar)

   {

       // Save namePar to class variable name

       name = namePar;

       // Save idNumPar to class variable idNum

       idNum= idNumPar;

       // Save gpaPar to class variable gpa

       gpa = gpaPar;

   }

   // Accessor: returns name of student

   public String getName()

   {

       // Return the name of the student

       return name;

   }

   // Accessor: returns GPA of student

   public double getGPA()

   {

       // Return the gpa of the student

       return gpa;

   }

   // Accessor: returns idNum of student

   public int getIdNum()

   {

       // Return the idnum of the Student

       return idNum;

   }

   // Mutator: Changes the GPA of the student

   public void setGPA(double g)

   {

       // Set the class variable gpa equal to g

       gpa = g;

   }

   // toString method: Returns a formatted string

   // of student information.

   // As shown in sample output.

   public String toString()

   {

       // declare a String variable to store the string value

       // then return the formatted String.

       String info = "Student Name: "+name+" "+

                       "Student Id num: "+idNum+" "+

                       "Student GPA: "+gpa+" ";

                      

       return info;

   }

   // implement .equals() method which returns a boolean value

   // of student information. When you call this method,

   // it should print message as shown in sample output.

   public boolean equals(Student s)

   {

       if(name.equalsIgnoreCase(s.name) &&

               idNum == s.idNum && gpa == s.gpa)

           return true;

       else

           return false;

   }

} // end of class Stud

public class Lab10

{

   //Constants

   private final static String NAME = "YOUR NAME"; // replace YOUR NAME with your name

   private final static int STUID = 123456789;

   private final static double GPA1 = 4.00;

   private final static double GPA2 = 2.34;

   //main method

   public static void main (String[] args)

   {

       Student stu1;

       stu1 = new Student(NAME, STUID, GPA1);

       System.out.println(" Name: " + stu1.getName());

       System.out.println("Id Number: " + stu1.getIdNum());

       System.out.println("GPA : " + stu1.getGPA());

       stu1.setGPA(GPA2);

       System.out.println(stu1 + " ");

       // Create a second student object

       // With a name of Trine Thunder, a

       // gpa of 4.00, and a student Id of

       // 000000001

       // You do not need to declare these at final constants,

       // but you can if you want to.

       Student stu2;

       stu2 = new Student("Trine Thunder", 000000001, 4.00);

       // Print out this student similar to above.

       // You do not need to reset the gpa of this student.

       System.out.println(stu2+" ");

       // Check if both objects are same using == and .equals() methods.

       // Print the message in both cases, whether same or not as shown in sample output.

       System.out.println("Using == .....");

       if(stu1 == stu2)

           System.out.println("Both are equal");

       else

           System.out.println("Both are different");

      

       System.out.println(" Using .equals() method.....");

       if(stu1.equals(stu2))

           System.out.println("Both are equal");

       else

           System.out.println("Both are different");

          

          

   } // end of main

} // end of class Lab10

/*

Sample run:

Name: YOUR NAME

Id Number: 123456789

GPA : 4.0

Student Name: YOUR NAME

Student Id num: 123456789

Student GPA: 2.34

Student Name: Trine Thunder

Student Id num: 1

Student GPA: 4.0

Using == .....

Both are different

Using .equals() method.....

Both are different

*/