4 min readβ’december 29, 2022
Peter Cao
Milo Chang
/** Represents an assignment that a student will complete
*/
public class Assignment {
private boolean correctAnswer; // represents the answer to an assignment, either T/F
/** Makes a new assignment with one True/False question and sets the correct answer
*/
public Assignment(boolean answer) {
correctAnswer = answer;
}
/** Prints details about the assignment
*/
@Override
public String toString() {
return "This is an assignment with correct answer " + answer;
}
}
/** Represents a high school student
*/
public class Student {
private int gradeLevel; // a grade between 9-12
private String name; // the students name in the form "FirstName LastName"
private int age; // the student's age, must be positive
private Assignment assignment; // the current assignment the student is working on
/** Makes a new student with grade gradeLev, name fullName, and age ageNum
*/
public Student(int gradeLev, String fullName, int ageNum) {
gradeLevel = gradeLev;
name = fullName;
age = ageNum;
assignment = null; // There is no active assignment at the moment
}
/** Returns the student's grade level
*/
public int getGradeLevel() {
return gradeLevel;
}
/** Returns the student's name
*/
public String getName() {
return name;
}
/** Returns the current assignment the student is working on
*/
public Assignment returnCurrentAssignment() {
return assignment;
}
/** Prints details about the student
*/
@Override
public String toString() {
return name + ", a " + gradeLevel + "th grade high school student";
}
/** Changes the student's name
*/
public void setName(String fullName) {
name = fullName;
}
/** Changes the student's grade level
*/
public void setGradeLevel(int gradeLev) {
gradeLevel = gradeLev;
}
}
void
appears before the method name. If a method does return something, we put the return type (String, boolean, int, double, float, char, etc.) in this location instead of void
. Student bob = new Student(10, "Bob Smith", 16);
bob
, gradeLevel
is 10, name
is "Bob Smith," age
is 16, and assignment
is null
. bob.setName("Bob John Smith");
bob.setGradeLevel(11);
bob
, gradeLevel
is 11, name
is "Bob John Smith," age
is 16, and assignment
is null
. bob
, we have no way of changing the values of age
or assignment
because there are no mutator methods for these two variables. Β© 2023 Fiveable Inc. All rights reserved.