Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I have the program written, but I need it separated so that I have a separate cl

ID: 3664394 • Letter: I

Question

I have the program written, but I need it separated so that I have a separate class that works as a tester. I also need comments added to the code please.

import java.util.Scanner;

public class Day
{
   private static final int Sunday = 0;
   private static final int Monday = 1;
   private static final int Tuesday = 2;
   private static final int Wednesday = 3;
   private static final int Thursday = 4;
   private static final int Friday = 5;
   private static final int Saturday = 6;
   static Scanner keyboard = new Scanner(System.in);
  
public Day(String TDay)
   {
       Day DY = new Day(Day.Wednesday);
       int choice;
      
       do
       {
           Prompt2();
           choice = keyboard.nextInt();
           System.out.println();
           switch (choice)
       {
          
       case 1:
           do
           {
               Prompt1();
               choice = keyboard.nextInt();
               System.out.println();
               switch (choice)
               {
               case 1:
                   NDay = Sunday;
                   break;
               case 2:
                   NDay = Monday;
                   break;
               case 3:
                   NDay = Tuesday;
                   break;
               case 4:
                   NDay = Wednesday;
                   break;
               case 5:
                   NDay = Thursday;
                   break;
               case 6:
                   NDay = Friday;
                   break;
               case 7:
                   NDay = Saturday;
                   break;
               case 99:
                   System.exit(0);
                   break;
               default:
                   System.out.println("Invalid Input");
               }
              
               System.out.print("The day you selected as your starting day is: ");
               DY.print();
               System.out.println();
               System.out.print("The next day to your selected day is: ");
               DY.setDay(DY.GetNextDay());
               DY.print();
               System.out.println();
               System.out.print("The previous day to your selected day is: ");
               DY.setDay(DY.GetPrevDay());
               DY.setDay(DY.GetPrevDay());
               DY.print();
               System.out.println();
               System.out.print("How many days would you like to add? ");
               System.out.println();
               int days = keyboard.nextInt();
               DY.setDay(days);
               System.out.print(" Adding " + days + " day(s) makes your new day: " + DY);
               System.out.println();
               System.out.println();
           }
          
           while (choice != 99);
           break;
           case 2:
               System.out.println("Test Data For Day Class");
               System.out.print(" Initial day: ");
               DY = new Day(Day.Sunday);
               DY.print();
               System.out.print(" Next day: ");
               DY.setDay(DY.GetNextDay());
               DY.print();
               System.out.print(" Add 12 Days: ");
               DY.setDay(DY.AddDay(12));
               DY.print();
               System.out.print(" Previous day: ");
               DY.setDay(DY.GetPrevDay());
               DY.print();
               System.out.print(" Add 3 days: ");
               DY.setDay(DY.AddDay(3));
               DY.print();
               System.out.println(" ");
               break;
               case 99:
                   System.exit(0);
                   break;
               default:
                   System.out.println("Invalid Input");
           }
           }
      
       while (choice != 99);
       }

   public static void Prompt1()
   {
       System.out.println("Please Select Your Initial Day (or 99 to quit):");
       System.out.println(" 1: Sunday.");
       System.out.println(" 2: Monday.");
       System.out.println(" 3: Tuesday.");
       System.out.println(" 4: Wednesday.");
       System.out.println(" 5: Thursday.");
       System.out.println(" 6: Friday.");
       System.out.println(" 7: Saturday.");
       System.out.println("99: To quit the program.");
   }
  
   public static void Prompt2()
   {
       System.out.println("Enter: ");
       System.out.println("1: To Enter Data into the program.");
       System.out.println("2: For Test Data.");
       System.out.println("99: To quit the program.");
   }
  
   public static int NDay;
   public void setDay(int day)
   {
       this.NDay = NDay;
   }
  
   public void print()
   {
       System.out.println(this.toString());
   }
  
   public int getDay()
   {
       return NDay;
   }
  
   public int GetNextDay()
   {
       return (NDay + 1) % 7;
   }
  
   public String toString()
   {
       switch (Day.NDay)
   {
       case Sunday:
           return "Sunday";
       case Monday:
           return "Monday";
       case Tuesday:
           return "Tuesday";
       case Wednesday:
           return "Wednesday";
       case Thursday:
           return "Thursday";
       case Friday:
           return "Friday";
       case Saturday:
           return "Saturday";
   }
      
       return "";
   }
  
   public int GetPrevDay()
   {
       return (NDay - 1) % 7;
   }
  
   public int AddDay(int days)
   {
       return (NDay + days) % 7;
   }
  
   public Day()
   {
       this.NDay = Sunday;
   }
  
   public Day(int NDay)
   {
       this.NDay = NDay;
   }
}

Explanation / Answer

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package studentscores;

import org.junit.Test;

import static org.junit.Assert.*;

/**

*

* @author HARE KRISHNA

*/

public class DayTester {

    @Test

    public void test Prompt1(){

        Day dayobj = new Day();

        // Prompt1 method calls

        dayObj.Prompt1();

        //checks assertEquals condition

        asserEquals();

    }

     @Test

    public void test Prompt2(){

        Day dayobj = new Day();

        // Prompt2 method calls

        dayObj.Prompt2();

        //checks assertEquals condition

        asserEquals();

}

}

//Comments on given Program

import java.util.Scanner;

public class Day

{

    private static final int Sunday = 0;

    private static final int Monday = 1;

    private static final int Tuesday = 2;

    private static final int Wednesday = 3;

    private static final int Thursday = 4;

    private static final int Friday = 5;

    private static final int Saturday = 6;

    static Scanner keyboard = new Scanner(System.in);

  

public Day(String TDay)

    {

        Day DY = new Day(Day.Wednesday); // here sending code like 3 to Day Object.

        int choice;

       

        do

        {

            Prompt2(); //calls the Prompt2 method.

            choice = keyboard.nextInt();// asking input values as taken choice.

            System.out.println();

            switch (choice)

        {

           

        case 1:

            do

            {

                Prompt1();//calls Prompt1 method calls

                choice = keyboard.nextInt();

                System.out.println();

               //based on choice assigns days to NDay

                switch (choice)

                {

                case 1:

                    NDay = Sunday;// based on choice assigns days toNDay

                    break;

                case 2:

                    NDay = Monday;

                    break;

                case 3:

                    NDay = Tuesday;

                    break;

                case 4:

                    NDay = Wednesday;

                    break;

                case 5:

                    NDay = Thursday;

                    break;

                case 6:

                    NDay = Friday;

                    break;

                case 7:

                    NDay = Saturday;

                    break;

                case 99:

                    System.exit(0);

                    break;

                default:

                    System.out.println("Invalid Input");

                }

               

                System.out.print("The day you selected as your starting day is: ");

                DY.print(); // selected day print here

                System.out.println();

                System.out.print("The next day to your selected day is: ");

                // set method call here of Day

    DY.setDay(DY.GetNextDay());

                DY.print();

                System.out.println();

                System.out.print("The previous day to your selected day is: ");

                DY.setDay(DY.GetPrevDay());

                DY.setDay(DY.GetPrevDay());

                DY.print();

                System.out.println();

                System.out.print("How many days would you like to add? ");

                System.out.println();

                int days = keyboard.nextInt();

                DY.setDay(days);

                System.out.print(" Adding " + days + " day(s) makes your new day: " + DY);

                System.out.println();

                System.out.println();

            }

           

            while (choice != 99);

            break;

            case 2:

                System.out.println("Test Data For Day Class");

                System.out.print(" Initial day: ");

                //date object intialized

                DY = new Day(Day.Sunday);

                DY.print();

                System.out.print(" Next day: ");

                DY.setDay(DY.GetNextDay());

                DY.print();

                System.out.print(" Add 12 Days: ");

                DY.setDay(DY.AddDay(12));

                DY.print();

                System.out.print(" Previous day: ");

                DY.setDay(DY.GetPrevDay());

                DY.print();

                System.out.print(" Add 3 days: ");

                DY.setDay(DY.AddDay(3));

                DY.print();

                System.out.println(" ");

                break;

case 99:

                    System.exit(0);

                    break;

                default:

                    System.out.println("Invalid Input");

            }

            }

       

        while (choice != 99);

        }

// asking to select days here

    public static void Prompt1()

    {

        System.out.println("Please Select Your Initial Day (or 99 to quit):");

        System.out.println(" 1: Sunday.");

        System.out.println(" 2: Monday.");

        System.out.println(" 3: Tuesday.");

        System.out.println(" 4: Wednesday.");

        System.out.println(" 5: Thursday.");

        System.out.println(" 6: Friday.");

        System.out.println(" 7: Saturday.");

        System.out.println("99: To quit the program.");

    }

   

//asking to enter data to the program and test data also

    public static void Prompt2()

    {

        System.out.println("Enter: ");

        System.out.println("1: To Enter Data into the program.");

        System.out.println("2: For Test Data.");

        System.out.println("99: To quit the program.");

    }

   

    public static int NDay;

    public void setDay(int day)

    {

        this.NDay = NDay;

    }

   

    public void print()

    {

        System.out.println(this.toString());

    }

    // returns day

    public int getDay()

    {

        return NDay;

    }

// calculate data

    public int GetNextDay()

    {

        return (NDay + 1) % 7;

    }

   

    public String toString()

    {

        switch (Day.NDay)

    {

        case Sunday:

            return "Sunday";

        case Monday:

            return "Monday";

        case Tuesday:

            return "Tuesday";

        case Wednesday:

            return "Wednesday";

        case Thursday:

            return "Thursday";

        case Friday:

            return "Friday";

        case Saturday:

            return "Saturday";

    }    

        return "";

    }

    public int GetPrevDay()

    {

        return (NDay - 1) % 7;

    }

   

    public int AddDay(int days)

    {

        return (NDay + days) % 7;

    }

   

    public Day()

    {

        this.NDay = Sunday;

    }   

    public Day(int NDay)

    {

        this.NDay = NDay;

    }

}