Question: Design and implement the class Day that implements the day of the week in a program. The class Day should store the day, such as

Design and implement the class Day that implements the day of the week in a program. The class Day should store the day, such as Sun for Sunday. The program should be able to perform the following operations on an object of type Day:

A. Set the day.

B. Print the day.

C. Return the day.

D. Return the next day.

E. Return the previous day.

F. Calculate and return the day by adding certain days to the current day. For example, if the current day is Monday and we add four days, the day to be returned is Friday. Similarly, if today is Tuesday and we add 13 days, the day to be returned is Monday.

G. Add the appropriate constructors.

H. Write the definitions of the methods to implement the operations for the class Day, as defined in A through G.

I. Write a program to test various operations on the class Day.

package day;

import java.util.Scanner; public class Day { final static int SUNDAY = 0; final static int MONDAY = 1; final static int TUESDAY = 2; final static int WEDNESDAY = 3; final static int THURSDAY = 4; final static int FRIDAY =5; final static int SATURDAY = 6; public int currentday; public Day(int day) { this.currentday = day; } //a) set day public void setDay(int currentday) { this.currentday = currentday; } //b) print the day public void printDay () { System.out.println(this.toString()); } //c)return the day public int returnDay () { return currentday; } //d) return the next day public int returnTomorrow () { int tomorrow; tomorrow= currentday +1; return tomorrow; } //e) return the previous day public int returnYesterday () { int yesterday=currentday; if(yesterday >0) { yesterday = currentday -1; } else { yesterday= 6; } return yesterday; } //f) calculate and return public int daysAdded(int daysadd) { int newday = currentday + daysadd; newday %= 7; return newday ; } public String dayToString () { switch(this.currentday) { case MONDAY: return "Monday"; case TUESDAY: return "Tuesday"; case WEDNESDAY: return "Wednesday"; case THURSDAY: return "Thursday"; case FRIDAY: return "Friday"; case SATURDAY: return "Saturday"; case SUNDAY: return "Sunday"; } return ""; } public static void main(String[] args) { // TODO code application logic here Scanner scanner = new Scanner(System.in); System.out.println("Original day: "); Day mon = new Day(MONDAY); System.out.println(); mon.printDay(); System.out.println("Tomorrow will be: "); mon.returnTomorrow(); System.out.println("Yesterday was: "); mon.returnYesterday(); System.out.println("In 3 days it will be :"); mon.daysAdded(3); } }

This is what I have so far, I've tried debugging but no dice. What am I doing wrong? Also some tips on my coding would be greatly appreciated!

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!