public class LabProgram { public static void main(String args[]) { Course cis162 = new Course();       int beforeCount;       String toDrop;              // Example students for testing       cis162.addStudent(new Student("Henry", "Nguyen", 3.5));          cis162.addStudent(new Student("Brenda", "Stern", 2.0));        cis162.addStudent(new Student("Lynda", "Robison", 3.2));        cis162.addStudent(new Student("Sonya", "King", 3.9));        toDrop = "Stern";              beforeCount = cis162.countStudents();       cis162.dropStudent(toDrop);   System.out.println("Course size: " + beforeCount + " students"); System.out.println("Course size after drop: " + cis162.countStudents() + " students"); }     }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
public class LabProgram {
public static void main(String args[]) {
Course cis162 = new Course();
      int beforeCount;
      String toDrop;
      
      // Example students for testing
      cis162.addStudent(new Student("Henry", "Nguyen", 3.5));   
      cis162.addStudent(new Student("Brenda", "Stern", 2.0)); 
      cis162.addStudent(new Student("Lynda", "Robison", 3.2)); 
      cis162.addStudent(new Student("Sonya", "King", 3.9)); 
      toDrop = "Stern";
      
      beforeCount = cis162.countStudents();
      cis162.dropStudent(toDrop);
 
System.out.println("Course size: " + beforeCount + " students");
System.out.println("Course size after drop: " + cis162.countStudents() + " students");
}    
}
import java.text.DecimalFormat;
 
// Class representing a student
public class Student {
 
private String first;  // first name
private String last;   // last name
private double gpa;    // grade point average
 
// Student class constructor
public Student(String f, String l, double g) {
first = f;  // first name
last = l;   // last name
gpa = g;    // grade point average
}
 
public double getGPA() {
return gpa;
}
 
public String getLast() {
return last;
}
 
   // Returns a String representation of the Student object, with the GPA formatted to one decimal
public String toString() {
DecimalFormat fmt = new DecimalFormat("#.0");
return first + " " + last + " " + fmt.format(gpa);
}
}
**Task Instruction:**

Complete the Course class in the file `Course.java` by implementing the `dropStudent()` method, which removes a student (by last name) from the course roster. If the student is not found in the course roster, no student should be dropped. Assume all students have distinct last names.

**Given Classes:**

- **Class LabProgram** contains the main method for testing the program.
- **Class Course** represents a course, which contains an ArrayList of Student objects as a course roster. (Type your code in here.)
- **Class Student** represents a classroom student, which has three private fields: first name, last name, and GPA. (Hint: `getLast()` returns the last name field.)

**Note:** For testing purposes, different student values will be used.

**Example:**

For the following students:

```
Henry Nguyen 3.5
Brenda Stern 2.0
Lynda Robison 3.2
Sonya King 3.9
```

The output for dropping Stern is:

```
Course size: 4 students
Course size after drop: 3 students
```
Transcribed Image Text:**Task Instruction:** Complete the Course class in the file `Course.java` by implementing the `dropStudent()` method, which removes a student (by last name) from the course roster. If the student is not found in the course roster, no student should be dropped. Assume all students have distinct last names. **Given Classes:** - **Class LabProgram** contains the main method for testing the program. - **Class Course** represents a course, which contains an ArrayList of Student objects as a course roster. (Type your code in here.) - **Class Student** represents a classroom student, which has three private fields: first name, last name, and GPA. (Hint: `getLast()` returns the last name field.) **Note:** For testing purposes, different student values will be used. **Example:** For the following students: ``` Henry Nguyen 3.5 Brenda Stern 2.0 Lynda Robison 3.2 Sonya King 3.9 ``` The output for dropping Stern is: ``` Course size: 4 students Course size after drop: 3 students ```
This image displays a Java program source file named `Course.java`. The code defines a `Course` class which manages a list of `Student` objects using an `ArrayList`. Below is a transcription and explanation:

```java
1 import java.util.ArrayList;  
2 
3 public class Course {
4     private ArrayList<Student> roster; // Collection of Student objects
5     
6     public Course() {
7         roster = new ArrayList<Student>();
8     }
9     
10    public void dropStudent(String last) {
11        /* Type your code here */
12    }
13    
14    public void addStudent(Student s) {
15        roster.add(s);
16    }
17    
18    public int countStudents() {
19        return roster.size();
20    }
21 }
```

### Explanation:

1. **Import Statement (Line 1):**
   - `import java.util.ArrayList;` imports the `ArrayList` class from the Java utility package, which is used for dynamic arrays.

2. **Class Definition (Line 3):**
   - `public class Course {` begins the definition of the `Course` class.

3. **Attributes (Line 4):**
   - `private ArrayList<Student> roster;` declares a private `ArrayList` named `roster` to store `Student` objects.

4. **Constructor (Lines 6-8):**
   - `public Course() { roster = new ArrayList<Student>(); }` initializes the `roster` with a new `ArrayList` when a `Course` object is constructed.

5. **Methods:**

   - **`dropStudent(String last)` (Lines 10-12):** 
     Placeholder for a method intended to remove a student by their last name from the roster. The implementation is not provided (`/* Type your code here */`).

   - **`addStudent(Student s)` (Lines 14-16):**
     Adds a `Student` object `s` to the `roster`.

   - **`countStudents()` (Lines 18-20):**
     Returns the number of students currently in the `roster` using `roster.size()`.

This simple class serves as a basic implementation for managing students within a course using Java's `ArrayList`. Further implementation details would be needed for complete functionality, especially in the `dropStudent` method.
Transcribed Image Text:This image displays a Java program source file named `Course.java`. The code defines a `Course` class which manages a list of `Student` objects using an `ArrayList`. Below is a transcription and explanation: ```java 1 import java.util.ArrayList; 2 3 public class Course { 4 private ArrayList<Student> roster; // Collection of Student objects 5 6 public Course() { 7 roster = new ArrayList<Student>(); 8 } 9 10 public void dropStudent(String last) { 11 /* Type your code here */ 12 } 13 14 public void addStudent(Student s) { 15 roster.add(s); 16 } 17 18 public int countStudents() { 19 return roster.size(); 20 } 21 } ``` ### Explanation: 1. **Import Statement (Line 1):** - `import java.util.ArrayList;` imports the `ArrayList` class from the Java utility package, which is used for dynamic arrays. 2. **Class Definition (Line 3):** - `public class Course {` begins the definition of the `Course` class. 3. **Attributes (Line 4):** - `private ArrayList<Student> roster;` declares a private `ArrayList` named `roster` to store `Student` objects. 4. **Constructor (Lines 6-8):** - `public Course() { roster = new ArrayList<Student>(); }` initializes the `roster` with a new `ArrayList` when a `Course` object is constructed. 5. **Methods:** - **`dropStudent(String last)` (Lines 10-12):** Placeholder for a method intended to remove a student by their last name from the roster. The implementation is not provided (`/* Type your code here */`). - **`addStudent(Student s)` (Lines 14-16):** Adds a `Student` object `s` to the `roster`. - **`countStudents()` (Lines 18-20):** Returns the number of students currently in the `roster` using `roster.size()`. This simple class serves as a basic implementation for managing students within a course using Java's `ArrayList`. Further implementation details would be needed for complete functionality, especially in the `dropStudent` method.
Expert Solution
Step 1: Algorithm
  • The Course class has an instance variable roster which is an ArrayList of Student objects.
  • The Course class has a constructor that initializes the roster ArrayList.
  • The dropStudent method removes a student with a specified last name from the roster.
  • The addStudent method adds a student to the roster.
  • The countStudents method returns the number of students in the roster.
  • The main method creates a Course object (cis162), adds four students to it, and then removes a student with the last name "Stern" using the dropStudent method.
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Unreferenced Objects
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education