Using jGrasp and the Software Development Kit, write a program in response to th
ID: 3570488 • Letter: U
Question
Using jGrasp and the Software Development Kit, write a program in response to the following prompt:
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.
To submit your compiled Java code for this assignment, compress the .java file into a single .zip file.
For additional details, refer to the Programming Problem Rubric in the Assignment Guidelines and Rubrics folder.
Explanation / Answer
import java.util.*;
//------------------------------------------------------------------
// MyDay class. Playing with day of week. I use MyDay instead of Day
//------------------------------------------------------------------
public class MyDay
{
// instantiate standard input object
static Scanner readinput = new Scanner(System.in);
// member variable, private by default
String day;
// constructor with "Sunday" value
public MyDay(String day)
{
day = "Sunday";
}
// set the day
public void setDay(String theDay)
{
day = theDay;
}
public String addDays(int n)
{
String str = day;
if((day.compareTo("Saturday") == 0) || (day.compareTo("Sat") == 0))
{
n = n % 7;
switch(n)
{
case 0: str = "Saturday";break;
case 1: str = "Sunday"; break;
case 2: str = "Monday"; break;
case 3: str = "Tuesday";break;
case 4: str = "Wednesday";break;
case 5: str = "Thrusday";break;
case 6: str = "Friday";break;
default: break;
}
}
else if((day.compareTo("Sunday") == 0) || (day.compareTo("Sun") == 0))
{
n = n % 7;
switch(n)
{
case 0: str = "Sunday"; break;
case 1: str = "Monday"; break;
case 2: str = "Tuesday";break;
case 3: str = "Wednesday";break;
case 4: str = "Thrusday";break;
case 5: str = "Friday";break;
case 6: str = "Saturday";break;
default: break;
}
}
else if((day.compareTo("Monday") == 0) || (day.compareTo("Mon") == 0))
{
n = n % 7;
switch(n)
{
case 0: str = "Monday"; break;
case 1: str = "Tuesday";break;
case 2: str = "Wednesday";break;
case 3: str = "Thrusday";break;
case 4: str = "Friday";break;
case 5: str = "Saturday";break;
case 6: str = "Sunday"; break;
default: break;
}
}
else if((day.compareTo("Tuesday") == 0) || (day.compareTo("Tue") == 0))
{
n = n % 7;
switch(n)
{
case 0: str = "Tuesday";break;
case 1: str = "Wednesday";break;
case 2: str = "Thrusday";break;
case 3: str = "Friday";break;
case 4: str = "Saturday";break;
case 5: str = "Sunday"; break;
case 6: str = "Monday"; break;
default: break;
}
}
else if((day.compareTo("Wednesday") == 0) || (day.compareTo("Wed") == 0))
{
n = n % 7;
switch(n)
{
case 0: str = "Wednesday";break;
case 1: str = "Thrusday";break;
case 2: str = "Friday";break;
case 3: str = "Saturday";break;
case 4: str = "Sunday"; break;
case 5: str = "Monday"; break;
case 6: str = "Tuesday";break;
default: break;
}
}
else if((day.compareTo("Thursday") == 0) || (day.compareTo("Thu") == 0))
{
n = n % 7;
switch(n)
{
case 1: str = "Thrusday";break;
case 2: str = "Friday";break;
case 3: str = "Saturday";break;
case 4: str = "Sunday"; break;
case 5: str = "Monday"; break;
case 6: str = "Tuesday";break;
case 0: str = "Wednesday";break;
default: break;
}
}
else if((day.compareTo("Friday") == 0) || (day.compareTo("Fri") == 0))
{
n = n % 7;
switch(n)
{
case 0: str = "Friday";break;
case 1: str = "Saturday";break;
case 2: str = "Sunday"; break;
case 3: str = "Monday"; break;
case 4: str = "Tuesday";break;
case 5: str = "Wednesday";break;
case 6: str = "Thrusday";break;
default: break;
}
}
else
return (""Opps Error lol!"");
return str;
}
// print or return the day
public String getDay()
{
return day;
}
// print the day, looks unnecessary
public void printDay()
{
System.out.println("When printing, your day is " + day);
}
// return the next day
public String getNextDay()
{
// using direct comparison will fail as day == "Saturday"
// so use compareTo() method...
if((day.compareTo("Saturday") == 0) || (day.compareTo("Sat") == 0))
return ("Sunday");
else if((day.compareTo("Sunday") == 0) || (day.compareTo("Sun") == 0))
return ("Monday");
else if((day.compareTo("Monday") == 0) || (day.compareTo("Mon") == 0))
return ("Tuesday");
else if((day.compareTo("Tuesday") == 0) || (day.compareTo("Tue") == 0))
return ("Wednesday");
else if((day.compareTo("Wednesday") == 0) || (day.compareTo("Wed") == 0))
return ("Thursday");
else if((day.compareTo("Thursday") == 0) || (day.compareTo("Thu") == 0))
return ("Friday");
else if((day.compareTo("Friday") == 0) || (day.compareTo("Fri") == 0))
return ("Saturday");
else
return (""Opps Error lol!"");
}
// return the previous day
public String getPreDay()
{
if((day.compareTo("Friday") == 0) || (day.compareTo("Fri") == 0))
return ("Thursday");
else if((day.compareTo("Thursday") == 0) || (day.compareTo("Thu") == 0))
return ("Wednesday");
else if((day.compareTo("Wednesday") == 0) || (day.compareTo("Wed") == 0))
return ("Tuesday");
else if((day.compareTo("Tuesday") == 0) || (day.compareTo("Tue") == 0))
return ("Monday");
else if((day.compareTo("Monday") == 0) || (day.compareTo("Mon") == 0))
return ("Sunday");
else if((day.compareTo("Sunday") == 0) || (day.compareTo("Sun") == 0))
return ("Saturday");
else if((day.compareTo("Saturday") == 0) || (day.compareTo("Sat") == 0))
return ("Friday");
else
return (""Opps Error lol!"");
}
// main execution point
public static void main (String args[])
{
MyDay testday = new MyDay("Sun");
// prompt user to set his/her day
System.out.print("Enter day to set your day: ");
// read and store user's day
String storeday = readinput.nextLine();
// invoke setDay() method to set a day defined by user
testday.setDay(storeday);
// invoke getDay() method to get a day
System.out.println("Your day is " + testday.getDay());
// test printing by invoking printDay() method
testday.printDay();
// invoke getPreDay() method to get the previous day
System.out.println("Your previous day is " + testday.getPreDay());
// invoke getNextDay() method to get the next day
System.out.println("Your next day is " + testday.getNextDay());
//invoke addDay() method to get the upcoming day
System.out.println("After 10 days, the upcoming day would be - "+testday.addDays(10));
}
}
------------------------------------------------------------------------------------------------------------------------------------
Sample Output:
Enter day to set your day: Saturday
Your day is Saturday
When printing, your day is Saturday
Your previous day is Friday
Your next day is Sunday
After 10 days, the upcoming day would be - Tuesday
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.