Question: java programming 5th edition chapter 8 User-Defined Classes and ADTs using Strings no Arrays This is what the output is supposed to look like: Output

java programming 5th edition chapter 8 User-Defined Classes and ADTs using Strings no Arrays

This is what the output is supposed to look like:

Output for day1:

The current day is

Output for day2:

The current day is Tuesday

New output for day1:

The current day is Friday

Output for day2: Tuesday

The day after Tuesday is Wednesday

The day before Tuesday is Monday

Enter the number of days from Friday: 3

A Monday is 3 days past Friday

Enter the number of days from Tuesday: 12

A Sunday is 12 days past Tuesday

This is the First program I had:

public class Day { private String day; //day of the week being converted to a number private int convertNum; // the number being converted to a day of the week My teacher said to take this one out because there is only one attribute which is day //default constructor public Day() { day = ""; convertNum = 0; }//end of default constructor //values constructor public Day (String weekDay, int dayNum) { day = weekDay; convertNum = dayNum; }//end of values constructor //set methods public void setConvertDayToNum(String weekDay) { day = weekDay; convertNum = getConvertDayToNum(day); } public void setConvertNumToDay(int dayNum) { convertNum = dayNum; day = getConvertNumToDay(convertNum); } //Where we convert a number to a day of the week public String getConvertNumToDay(int convertNum) { String day1 = ""; switch (convertNum) { case 1: day1 = "Sunday"; break; case 2: day1 = "Monday"; break; case 3: day1 = "Tuesday"; break; case 4: day1 = "Wednesday"; break; case 5: day1 = "Thurday"; break; case 6: day1 = "Friday"; break; case 7: day1 = "Saturday"; break; }// switch(convertNum) return day1; }//end of getDay //Where we convert the day of the week to a number public int getConvertDayToNum(String day) { int conversion = 0; switch (day) { case "Sunday": conversion = 1; break; case "Monday": conversion = 2; break; case "Tuesday": conversion = 3; break; case "Wednesday": conversion = 4; break; case "Thursday": conversion = 5; break; case "Friday": conversion = 6; break; case "Saturday": conversion = 7; break; }//end switch(day) return conversion; }//end of getNewDay public void calcPrevDay() { String day1; int conversion; conversion = convertNum - 1; if (conversion == 0) { conversion = 7; } day1 = getConvertNumToDay(conversion); System.out.print("The day before " + day + " is " + day1); }//end calcPrevDay() public void calcNextDay() { String day1; int conversion; conversion = convertNum + 1; if (conversion == 8) { conversion = 1; } day1 = getConvertNumToDay(conversion); System.out.print(" The day after " + day + " is " + day1); }//end calcNextDay() public void calcNewDay(int addOnDays) { String newDay = ""; int totDaysNum = 0; totDaysNum = convertNum + addOnDays % 7; if (totDaysNum > 7) { totDaysNum = totDaysNum % 7; } newDay = getConvertNumToDay(totDaysNum); System.out.print("A " + newDay + " is " + addOnDays + " days past " + day + " "); }//end calcNewDay public void printDay() { System.out.print("The Current Day is " + day + " "); }//end printDay() }//end of class Day

import java.util.*;

public class testDay { static Scanner console = new Scanner (System.in); public static void main (String[]args) { //declare local variable String day = ""; int convertNum = 0; int addOnDays = 0; Day day1 = new Day(); Day day2 = new Day("Tuesday", 3); System.out.print("Output for day1: "); day1.printDay(); System.out.println(); System.out.print("Output for day2: "); convertNum = day2.getConvertDayToNum(day); day2.printDay(); System.out.print(" New output for day1: "); day1.setConvertDayToNum(day); day1.printDay(); System.out.print(" Output for day2: "); day = console.nextLine(); day2.calcPrevDay(); day2.calcNextDay(); System.out.print(" Enter the number of days from Friday: "); addOnDays = console.nextInt(); day1.calcNewDay(addOnDays); System.out.print(" Enter the number of days from Tuesday: "); addOnDays = console.nextInt(); day2.calcNewDay(addOnDays); }//end main }//end class testDay

This was my output for that one:

Output for day1: The Current Day is

Output for day2: The Current Day is Tuesday

New output for day1: The Current Day is

Output for day2: Tuesday The day before Tuesday is Monday The day after Tuesday is Wednesday

Enter the number of days from Friday: 3 A Tuesday is 3 days past

Enter the number of days from Tuesday: 12 A Sunday is 12 days past Tuesday

----jGRASP: operation complete.

----jGRASP exec: java testDay

Output for day1: The Current Day is

Output for day2: The Current Day is Tuesday

New output for day1: The Current Day is

Output for day2: Sunday The day before Tuesday is Monday The day after Tuesday is Wednesday

Enter the number of days from Friday: 3 A Tuesday is 3 days past

Enter the number of days from Tuesday: 12 A Sunday is 12 days past Tuesday

I did what the teacher said and took out the other attribute:

public class Day2 { private String day; //day of the week being converted to a number //default constructor public Day2() { day = ""; }//end of default constructor //values constructor public Day2 (String weekDay) { day = weekDay; }//end of values constructor //set methods public void setConvertDayToNum(String weekDay) { int convertNum; day = weekDay; convertNum = getConvertDayToNum(day); } public void setConvertNumToDay(int dayNum) { int convertNum = 0; convertNum = dayNum; day = getConvertNumToDay(convertNum); } //Where we convert a number to a day of the week public String getConvertNumToDay(int convertNum) { String day1 = ""; switch (convertNum) { case 1: day1 = "Sunday"; break; case 2: day1 = "Monday"; break; case 3: day1 = "Tuesday"; break; case 4: day1 = "Wednesday"; break; case 5: day1 = "Thurday"; break; case 6: day1 = "Friday"; break; case 7: day1 = "Saturday"; break; }// switch(convertNum) return day1; }//end of getDay //Where we convert the day of the week to a number public int getConvertDayToNum(String day) { int conversion = 0; switch (day) { case "Sunday": conversion = 1; break; case "Monday": conversion = 2; break; case "Tuesday": conversion = 3; break; case "Wednesday": conversion = 4; break; case "Thursday": conversion = 5; break; case "Friday": conversion = 6; break; case "Saturday": conversion = 7; break; }//end switch(day) return conversion; }//end of getNewDay public void calcPrevDay() { int convertNum = 0; String day1; int conversion; conversion = convertNum - 1; if (conversion == 0) { conversion = 7; } day1 = getConvertNumToDay(conversion); System.out.print("The day before " + day + " is " + day1); }//end calcPrevDay() public void calcNextDay() { int convertNum = 0; String day1; int conversion; conversion = convertNum + 1; if (conversion == 8) { conversion = 1; } day1 = getConvertNumToDay(conversion); System.out.print(" The day after " + day + " is " + day1); }//end calcNextDay() public void calcNewDay(int addOnDays) { int convertNum = 0; String newDay = ""; int totDaysNum = 0; totDaysNum = convertNum + addOnDays % 7; if (totDaysNum > 7) { totDaysNum = totDaysNum % 7; } newDay = getConvertNumToDay(totDaysNum); System.out.print("A " + newDay + " is " + addOnDays + " days past " + day + " "); }//end calcNewDay public void printDay() { System.out.print("The Current Day is " + day + " "); }//end printDay() }//end of class Day

import java.util.*;

public class testDay2 { static Scanner console = new Scanner (System.in); public static void main (String[]args) { //declare local variable String day = ""; int convertNum = 0; int addOnDays = 0; Day2 day1 = new Day2(); Day2 day2 = new Day2("Tuesday"); System.out.print("Output for day1: "); day1.printDay(); System.out.println(); System.out.print("Output for day2: "); convertNum = day2.getConvertDayToNum(day); day2.printDay(); System.out.print(" New output for day1: "); day1.setConvertDayToNum(day); day1.printDay(); System.out.print(" Output for day2: "); day = console.nextLine(); day2.calcPrevDay(); day2.calcNextDay(); System.out.print(" Enter the number of days from Friday: "); addOnDays = console.nextInt(); day1.calcNewDay(addOnDays); System.out.print(" Enter the number of days from Tuesday: "); addOnDays = console.nextInt(); day2.calcNewDay(addOnDays); }//end main }//end class testDay

Then this was my output:

Output for day1: The Current Day is

Output for day2: The Current Day is Tuesday

New output for day1: The Current Day is

Output for day2: Tuesday The day before Tuesday is The day after Tuesday is Sunday

Enter the number of days from Friday: 3 A Tuesday is 3 days past

Enter the number of days from Tuesday: 12 A Thurday is 12 days past Tuesday

----jGRASP: operation complete.

----jGRASP exec: java testDay2

Output for day1: The Current Day is

Output for day2: The Current Day is Tuesday

New output for day1: The Current Day is

Output for day2: Wednesday The day before Tuesday is The day after Tuesday is Sunday

Enter the number of days from Friday: 3 A Tuesday is 3 days past

Enter the number of days from Tuesday: 12 A Thurday is 12 days past Tuesday

----jGRASP: operation complete.

I have spent so much time on this please help me fix it

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!