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"); } }
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
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);
}
}

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
```

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 variableroster
which is anArrayList
ofStudent
objects. - The
Course
class has a constructor that initializes theroster
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 aCourse
object (cis162
), adds four students to it, and then removes a student with the last name "Stern" using thedropStudent
method.
Step by step
Solved in 3 steps with 1 images

Knowledge Booster
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.Recommended textbooks for you

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)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

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)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON

Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education