2.4. Problem Create a class called Exam that a teacher might use to represent an exam for a course taught in the university. An Exam should include different information as instance variables - an exam date (day, month, and year), an exam time (hour and minutes), and an exam max marks. It should also include 2 constants which are the exam type and exam order. The exam type value may be one of the constant static fields ("Lab Exam", "Midterm Exam", "Final Exam") or any other value. The exam order (1, 2, 3, etc.) is set for lab exams and midterms by using separate static counters, for other exam types is set to 0. Provide 5 overloaded constructors, where: • the first constructor takes the exam type only, • the second constructor takes, in addition to what the first takes, the max marks, • the third constructor takes, in addition to what the second takes, the date, • the forth constructor takes, in addition to what the third takes, the time, • and the fifth constructor takes an object of type Exam. For simplicity's sake, the following variable must be checked against their ranges: day value must be between 1 and 31, month value must between 1 and 12, year value must be greater than 0. • lab max marks value must be between 5 and 10, otherwise is set to 10 • midterm max marks value must be between 15 and 20, otherwise is set to 20 • final max marks value must be between 30 and 40, otherwise is set to 40 • • Provide a set and a get method for each (non-constant) instance variable. In addition, define a method called setDate that sets at once the day, month, and year values. Similarly, define a method called setTime that sets at once the hour and minutes values.

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
2.4. Problem
Create a class called Exam that a teacher might use to represent an exam for a course
taught in the university.
An Exam should include different information as instance variables - an exam date
(day, month, and year), an exam time (hour and minutes), and an exam max marks. It
should also include 2 constants which are the exam type and exam order.
The exam type value may be one of the constant static fields ("Lab Exam", "Midterm
Exam", "Final Exam") or any other value. The exam order (1, 2, 3, etc.) is set for lab
exams and midterms by using separate static counters, for other exam types is set to 0.
Provide 5 overloaded constructors, where:
• the first constructor takes the exam type only,
• the second constructor takes, in addition to what the first takes, the max marks,
•
the third constructor takes, in addition to what the second takes, the date,
• the forth constructor takes, in addition to what the third takes, the time,
•
and the fifth constructor takes an object of type Exam.
For simplicity's sake, the following variable must be checked against their ranges:
day value must be between 1 and 31,
month value must between 1 and 12,
•
•
• year value must be greater than 0.
•
lab max marks value must be between 5 and 10, otherwise is set to 10
•
midterm max marks value must be between 15 and 20, otherwise is set to 20
• final max marks value must be between 30 and 40, otherwise is set to 40
Provide a set and a get method for each (non-constant) instance variable. In addition,
define a method called setDate that sets at once the day, month, and year values.
Similarly, define a method called setTime that sets at once the hour and minutes
values.
Transcribed Image Text:2.4. Problem Create a class called Exam that a teacher might use to represent an exam for a course taught in the university. An Exam should include different information as instance variables - an exam date (day, month, and year), an exam time (hour and minutes), and an exam max marks. It should also include 2 constants which are the exam type and exam order. The exam type value may be one of the constant static fields ("Lab Exam", "Midterm Exam", "Final Exam") or any other value. The exam order (1, 2, 3, etc.) is set for lab exams and midterms by using separate static counters, for other exam types is set to 0. Provide 5 overloaded constructors, where: • the first constructor takes the exam type only, • the second constructor takes, in addition to what the first takes, the max marks, • the third constructor takes, in addition to what the second takes, the date, • the forth constructor takes, in addition to what the third takes, the time, • and the fifth constructor takes an object of type Exam. For simplicity's sake, the following variable must be checked against their ranges: day value must be between 1 and 31, month value must between 1 and 12, • • • year value must be greater than 0. • lab max marks value must be between 5 and 10, otherwise is set to 10 • midterm max marks value must be between 15 and 20, otherwise is set to 20 • final max marks value must be between 30 and 40, otherwise is set to 40 Provide a set and a get method for each (non-constant) instance variable. In addition, define a method called setDate that sets at once the day, month, and year values. Similarly, define a method called setTime that sets at once the hour and minutes values.
Expert Solution
steps

Step by step

Solved in 3 steps with 5 images

Blurred answer
Knowledge Booster
Software Development
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
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