80.0k views
2 votes
Java

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.

4) Turn in a printed copy of both Student.java and Lab10.java. Also
turn in a printed copy of your output file created in step 2.

1 Answer

3 votes

Answer:

public class Lab10

{

//Constants

private final static String NAME = "John Terry"; // 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.

System.out.println("\\Name: Trine Thunder" );

System.out.println("Id Number: 000000001");

System.out.println("GPA : 4.00");

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

// [Add code here]

// Print out this student similar to above.

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

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

// [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.

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

if(stu1 == stu2){

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

}

else{

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

}

stu1.equals(stu2);

// [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

name = namePar;

// [Add code here]

idNum = idNumPar;

// Save idNumPar to class variable idNum

gpa = gpaPar ;

// [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

return name;

// [Add code here]

}

// Accessor: returns GPA of student

public double getGPA()

{

// Return the gpa of the student

return gpa;

// [Add code here]

}

// Accessor: returns idNum of student

public int getIdNum()

{

// Return the idnum of the Student

return idNum;

// [Add code here]

}

// Mutator: Changes the GPA of the student

public void setGPA(double g)

{

// Set the class variable gpa equal to g

gpa = 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.

String s ="";

s = s + "Student Name: "+name+"\\";

s =s + "Student Id num: "+idNum+"\\";

s =s + "Student GPA: "+gpa+"\\";

return s;

// [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]

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

if(this.equals(s.idNum == this.idNum)){

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

return true;

}

else{

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

return false;

}

}

} // end of class Student

Step-by-step explanation:

Output:

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: 000000001

GPA : 4.00

Student Name: Trine Thunder

Student Id num: 1

Student GPA: 4.0

Using ==

Both are different

Using .equals() method

Both are different