0% found this document useful (0 votes)
53 views3 pages

ch4 Lab 4-2

The document describes a Student class that stores a student's name, test scores, and methods to input scores, calculate average, and return name. It includes an incomplete Student class definition and Grades program that uses two Student objects. The tasks are to: 1. Complete the Student class by adding instance data, constructor, inputGrades, getAverage, and getName methods. 2. Use the Student methods in Grades to input scores for two students, calculate averages, and print the results. 3. Add a toString method to Student to nicely print student details instead of the default identifier.

Uploaded by

Nathan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views3 pages

ch4 Lab 4-2

The document describes a Student class that stores a student's name, test scores, and methods to input scores, calculate average, and return name. It includes an incomplete Student class definition and Grades program that uses two Student objects. The tasks are to: 1. Complete the Student class by adding instance data, constructor, inputGrades, getAverage, and getName methods. 2. Use the Student methods in Grades to input scores for two students, calculate averages, and print the results. 3. Add a toString method to Student to nicely print student details instead of the default identifier.

Uploaded by

Nathan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Name____________________________________ APCS A (Lab Exercises – 4.

2)

Tracking Grades
A teacher wants a program to keep track of grades for students and decides to create a student class for his program as
follows:

 Each student will be described by three pieces of data: his/her name, his/her score on test #1, and his/her score on test
#2.
 There will be one constructor, which will have one argument—the name of the student.
 There will be three methods: getName, which will return the student's name; inputGrades, which will prompt for and
read in the student's test grades; and getAverage, which will compute and return the student's average.

1. File Student.java contains an incomplete definition for the Student class. Save it to your directory and complete the
class definition as follows:
a. Declare the instance data (name, score for test1, and score for test2).
b. Create a Scanner object for reading in the scores.
c. Add the missing method headers.
d. Add the missing method bodies.

2. File Grades.java contains a shell program that declares two Student objects. Save it to your directory and use the
inputGrades method to read in each student's test scores, then use the getAverage method to find their average.
Print the average with the student's name, e.g., "The average for Joe is 87." You can use the getName method to
print the student's name.

3. Add statements to your Grades program that print the values of your Student variables directly, e.g.:

System.out.println("Student 1: " + student1);

This should compile, but notice what it does when you run it—nothing very useful! When an object is printed, Java
looks for a toString method for that object. This method must have no parameters and must return a String. If such a
method has been defined for this object, it is called and the string it returns is printed. Otherwise the default toString
method, which is inherited from the Object class, is called; it simply returns a unique hexadecimal identifier for the
object such as the ones you saw above.

Add a toString method to your Student class that returns a string containing the student's name and test scores, e.g.:

Name: Joe Test1: 85 Test2: 91

Note that the toString method does not call System.out.println—it just returns a string.

Recompile your Student class and the Grades program (you shouldn't have to change the Grades program—you don't
have to call toString explicitly). Now see what happens when you print a student object—much nicer!
// ****************************************************************
// Student.java
//
// Define a student class that stores name, score on test 1, and
// score on test 2. Methods prompt for and read in grades,
// compute the average, and return a string containing student’s info.
// ****************************************************************
import java.util.Scanner;

public class Student


{
//declare instance data

//-----------------------------------------------
//constructor
//-----------------------------------------------
public Student(String studentName)
{
//add body of constructor
}

//-----------------------------------------------
//inputGrades: prompt for and read in student's grades for test1 and test2.
//Use name in prompts, e.g., "Enter's Joe's score for test1".
//-----------------------------------------------
public void inputGrades()
{
//add body of inputGrades
}

//-----------------------------------------------
//getAverage: compute and return the student's test average
//-----------------------------------------------

//add header for getAverage


{
//add body of getAverage
}

//-----------------------------------------------
//getName: print the student's name
//-----------------------------------------------

//add header for printName


{
//add body of printName
}

}
// ****************************************************************
// Grades.java
//
// Use Student class to get test grades for two students
// and compute averages
//
// ****************************************************************
public class Grades
{
public static void main(String[] args)
{
Student student1 = new Student("Mary");
//create student2, "Mike"

//input grades for Mary


//print average for Mary

System.out.println();

//input grades for Mike


//print average for Mike

}
}

You might also like