Description of the student

Assignment Help Basic Computer Science
Reference no: EM132184124

Modify the Student class from the chapter 7 source files as follows. Each student object should also contain the scores for three tests. Provide a constructor that sets all instance values based on parameter values. Overload the constructor such that each test score is assumed to be initially zero. Provide a method called setTestScore that accepts two parameters: the test number (1 through 3) and the score. Also provide a method called getTestScore that accepts the test number and returns the appropriate score. Provide a method called average that computes and returns the average test score for this student. Modify the toString method such that the test scores and average are included in the description of the student.  

PP 7.3 - Write a class called Course that represents a course taken at a school. Represent each student using the modified Student class from the previous programming project. Use an ArrayList in the Course to store the students taking that course. The constructor of the Course class should accept only the name of the course. Provide a method called addStudent that accepts one Student parameter. Provide a method called average that computes and returns the average of all students' test score averages. Provide a method called roll that prints all students in the course. Create a driver class named School with a main method that creates a course and several students, adds the students to the course, prints a roll, and prints the overall course test average.

address.java

public class Address {

   private String streetAddress, city, state;
   private long zipCode;

   // -----------------------------------------------------------------
   // Constructor: Sets up this address with the specified data.
   // -----------------------------------------------------------------
   public Address(String street, String town, String st, long zip) {

       streetAddress = street;
       city = town;
       state = st;
       zipCode = zip;
   }

   // -----------------------------------------------------------------
   // Returns a description of this Address object.
   // -----------------------------------------------------------------
   public String toString() {
       String result;
       result = streetAddress + "n";
       result += city + ", " + state + " " + zipCode;
       return result;
   }
}

Course.java

public class Course {
   private int test1;
   private int test2;
   private int test3;

   public Course(int t1, int t2, int t3) {
       test1 = t1;
       test2 = t2;
       test3 = t3;
   }

   public String toString() {
       String result;

       result = "Test 1 Score: " + test1 + "n";
       result += "Test 2 Score: " + test2 + "n";
       result += "Test 3 Score: " + test3 + "n";
       ;

       return result;
   }

   // All getter and setter methods
   public int getTest1() {
       return test1;
   }

   public void setTest1(int test1) {
       this.test1 = test1;
   }

   public int getTest2() {
       return test2;
   }

   public void setTest2(int test2) {
       this.test2 = test2;
   }

   public int getTest3() {
       return test3;
   }

   public void setTest3(int test3) {
       this.test3 = test3;
   }

}

School.java

public class School {
   
   // Main method that creates a course and seceral students
   
   public static void main(String[] args) {

       Address school = new Address("82 College Cir.", "Dahlonega", "GA", 30597);
       Address jHome = new Address("1234 Main Street", "Cumming", "GA", 30041);
       Student john = new Student("John", "Smith", jHome, school);
       Address mHome = new Address("123 Main Street", "Gainseville", "GA", 30501);
       Student matt = new Student("Matt", "Smith", mHome, school, 90, 87, 94);

       System.out.println(john);
       System.out.println(matt);

       john.setTestScore(1, 87);
       john.setTestScore(2, 90);
       john.setTestScore(3, 85);
       matt.setTestScore(2, 89);

       System.out.println("John Smith - Test 1: " + john.getTestScore(1));
       System.out.println("Matt Smith - Test 2: " + matt.getTestScore(2));

       System.out.println();
       System.out.println(john);
       System.out.println(matt);
   }
}

Student.java

public class Student {

   private String firstName, lastName;
   private Address homeAddress, schoolAddress;
   private Course testScores;

   // -----------------------------------------------------------------
   // Constructor: Sets up this student with the specified values.
   // -----------------------------------------------------------------
   public Student(String first, String last, Address home, Address school) {
       firstName = first;
       lastName = last;
       homeAddress = home;
       schoolAddress = school;
      
       //Crate testScore with default test score of zero
       testScores = new Course(0, 0, 0);
   }

   //Overloaded constructor
   public Student(String first, String last, Address home, Address school,int test1,int test2,int test3 ) {
       firstName = first;
       lastName = last;
       homeAddress = home;
       schoolAddress = school;
      
       //Crate testScore with given test scores
       testScores = new Course(test1, test2, test3);
   }

   //Method to set test score
   public void setTestScore(int testNumber,int testScore) {
      
       if(testNumber==1) {
           testScores.setTest1(testScore);
       }
       else if(testNumber==2) {
           testScores.setTest2(testScore);
       }
       else if(testNumber==3) {
           testScores.setTest3(testScore);
       }
   }
 
   //Method to return test score by test number
   public int getTestScore(int testNumber) {
      
       if(testNumber==1) {
           return testScores.getTest1();
       }
       else if(testNumber==2) {
           return testScores.getTest2();
       }
       else if(testNumber==3) {
           return testScores.getTest3();
       } else {
           return 0;
       }
   }
 
   //Method to get average test score
   public double getAverageTestScores() {
      
       double avg;
      
       avg = (testScores.getTest1() + testScores.getTest2() + testScores.getTest3())/3.0;
      
       return avg;
   }
 
   public String toString() {
       String result;
       result = "------------- "+firstName + " " + lastName + " -------------n";
       result += "Home Address:" + homeAddress + "n";
       result += "School Address:" + schoolAddress+ "n";
       result += "Test 1 score:" + testScores.getTest1() + "n";
       result += "Test 2 score:" + testScores.getTest2() + "n";
       result += "Test 3 score:" + testScores.getTest3() + "n";
       result += "Average test score:" + getAverageTestScores() + "n";

       return result;
   }
}

Reference no: EM132184124

Three-year-old sons college education

A couple is planning to finance its three-year-old son's college education. Money can be deposited at 6% compounded monthly. What quarterly deposit must be made from the son

Describe basic computer hardware component standards

Describe basic computer hardware component standards. Describe basic hardware devices and their specifications. Describe characteristics of computer hardware device components

Leading the internal investigation of the accident

You are the chief systems engineer for Sir Richard Branson of Virgin Galactic Corporation, Ltd. As you are aware, last Friday, October 31st, there was a tragic and serious

Write a function that implements such a converter

Write a VDHL code from which this converter can be inferred. Enter N (number of bits) as a GENERIC parameter, and use the closed-form expression obtained above to do the com

Show the effect of reversing the direction of the edge

This difference is the same for any pair of potentials no matter what vertex we start with (and no matter what value we assign it), so our choice of starting vertex and valu

What are some input and output devices in use today

What types of expansion slots do you have in your computer? Why do different types of devices require different slots? What are some input and output devices in use today? Eac

Reasons and advantages of expanding into different nations

Explain fully the advantages of expanding across borders??12. Distinguish in detail the reasons and advantages of expanding into different nations through mergers and acquis

Create a new hash class that uses an arraylist

Using the Hashtable class, write a spelling-checker program that reads through a text file and checks for spelling errors. You will, of course, have to limit your dictionary

Reviews

Write a Review

 
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd