0

I am asking user for an integer to represent the year then a string to represent day of the week, followed by named strings for each day of the week. I then do a compareTo to assign a variable integer based on a condition "if" statement. For example, if 'sunday = sunday then int dayOfWeek = 0'.

The problem is, the user puts in the year, then the program prompts user for String "day", but never allow user to input. The rest of the program is executed. How do I keep it from going on to the next step? Here is a portion of the code I am struggling with. Thanks!

    'System.out.print("Enter a year: "); //request input from user
    int year = input.nextInt();
    
    System.out.print("Enter the day of the week:  ");
String day = input.nextLine ();
            

            
    int dayOfWeek = 0;
            String monday = "Monday";
            String tuesday = "Tuesday";
            String wednesday = "Wednesday";
            String thursday = "Thursday";
            String friday = "Friday";
            String saturday = "Saturday";
            String sunday = "Sunday";
            
            
    boolean isLeapYear = //check to see if it is a leap year
            (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
    
           if (monday.equalsIgnoreCase(day))
               dayOfWeek = 1;
           else if (tuesday.equalsIgnoreCase(day)) '''

Here it is in its entirety:

'''

    import java.util.*;

    public class FirstDaysOfMonths {
    public static void main (String [] args) {
    Scanner input = new Scanner (System.in); //create scanner
    System.out.print("Enter a year: "); //request input from user
    int year = input.nextInt();
    
    System.out.print("Enter the day of the week:  ");
String day = input.nextLine ();
            

            
    int dayOfWeek = 0;
            String monday = "Monday";
            String tuesday = "Tuesday";
            String wednesday = "Wednesday";
            String thursday = "Thursday";
            String friday = "Friday";
            String saturday = "Saturday";
            String sunday = "Sunday";
            
            
    boolean isLeapYear = //check to see if it is a leap year
            (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
    
           if (monday.equalsIgnoreCase(day))
               dayOfWeek = 1;
           else if (tuesday.equalsIgnoreCase(day))
               dayOfWeek = 2;
       else if (wednesday.equalsIgnoreCase(day))
               dayOfWeek = 3;
           else if (thursday.equalsIgnoreCase(day))
               dayOfWeek = 4;
           else if (friday.equalsIgnoreCase(day))
               dayOfWeek = 5;
           else if (saturday.equalsIgnoreCase(day))
               dayOfWeek = 6;
           else dayOfWeek = 0;
           
       System.out.print("January 1, " + year + "is ") ; 
               if (dayOfWeek == 0)
                   System.out.println(sunday);
               else if (dayOfWeek == 1)
                   System.out.println(monday);
               else if (dayOfWeek == 2)
                   System.out.println(tuesday);
               else if (dayOfWeek == 3)
                   System.out.println(wednesday);
               else if (dayOfWeek == 4)
                   System.out.println(thursday);
               else if (dayOfWeek == 5)
                   System.out.println(friday);
               else 
                   System.out.println(saturday);
           
dayOfWeek = ((31 % 7) + dayOfWeek);
    
    System.out.print("February 1, " + year + "is ") ; 
               if (dayOfWeek == 0)
                   System.out.println(sunday);
               else if (dayOfWeek == 1)
                   System.out.println(monday);
               else if (dayOfWeek == 2)
                   System.out.println(tuesday);
               else if (dayOfWeek == 3)
                   System.out.println(wednesday);
               else if (dayOfWeek == 4)
                   System.out.println(thursday);
               else if (dayOfWeek == 5)
                   System.out.println(friday);
               else 
                   System.out.println(saturday);
   
        if (isLeapYear) 
    dayOfWeek = ((29 % 7) + dayOfWeek); 
        else 
            dayOfWeek = ((28 % 7) + dayOfWeek);
        
    System.out.print("March 1, " + year + "is ") ; 
               if (dayOfWeek == 0)
                   System.out.println(sunday);
               else if (dayOfWeek == 1)
                   System.out.println(monday);
               else if (dayOfWeek == 2)
                   System.out.println(tuesday);
               else if (dayOfWeek == 3)
                   System.out.println(wednesday);
               else if (dayOfWeek == 4)
                   System.out.println(thursday);
               else if (dayOfWeek == 5)
                   System.out.println(friday);
               else 
                   System.out.println(saturday);    
        


    dayOfWeek = ((31 % 7) + dayOfWeek);
    
    System.out.print("April 1, " + year + "is ") ; 
               if (dayOfWeek == 0)
                   System.out.println(sunday);
               else if (dayOfWeek == 1)
                   System.out.println(monday);
               else if (dayOfWeek == 2)
                   System.out.println(tuesday);
               else if (dayOfWeek == 3)
                   System.out.println(wednesday);
               else if (dayOfWeek == 4)
                   System.out.println(thursday);
               else if (dayOfWeek == 5)
                   System.out.println(friday);
               else 
                   System.out.println(saturday);
               
    dayOfWeek = ((30 % 7) + dayOfWeek);
    
    System.out.print("May 1, " + year + "is ") ; 
               if (dayOfWeek == 0)
                   System.out.println(sunday);
               else if (dayOfWeek == 1)
                   System.out.println(monday);
               else if (dayOfWeek == 2)
                   System.out.println(tuesday);
               else if (dayOfWeek == 3)
                   System.out.println(wednesday);
               else if (dayOfWeek == 4)
                   System.out.println(thursday);
               else if (dayOfWeek == 5)
                   System.out.println(friday);
               else 
                   System.out.println(saturday);
               
   dayOfWeek = ((31 % 7) + dayOfWeek);
    
    System.out.print("June 1, " + year + "is ") ; 
               if (dayOfWeek == 0)
                   System.out.println(sunday);
               else if (dayOfWeek == 1)
                   System.out.println(monday);
               else if (dayOfWeek == 2)
                   System.out.println(tuesday);
               else if (dayOfWeek == 3)
                   System.out.println(wednesday);
               else if (dayOfWeek == 4)
                   System.out.println(thursday);
               else if (dayOfWeek == 5)
                   System.out.println(friday);
               else 
                   System.out.println(saturday);
               
   dayOfWeek = ((30 % 7) + dayOfWeek);
    
    System.out.print("July 1, " + year + "is ") ; 
               if (dayOfWeek == 0)
                   System.out.println(sunday);
               else if (dayOfWeek == 1)
                   System.out.println(monday);
               else if (dayOfWeek == 2)
                   System.out.println(tuesday);
               else if (dayOfWeek == 3)
                   System.out.println(wednesday);
               else if (dayOfWeek == 4)
                   System.out.println(thursday);
               else if (dayOfWeek == 5)
                   System.out.println(friday);
               else 
                   System.out.println(saturday);
               

    dayOfWeek = ((31 % 7) + dayOfWeek);
    
    System.out.print("August 1, " + year + "is ") ; 
               if (dayOfWeek == 0)
                   System.out.println(sunday);
               else if (dayOfWeek == 1)
                   System.out.println(monday);
               else if (dayOfWeek == 2)
                   System.out.println(tuesday);
               else if (dayOfWeek == 3)
                   System.out.println(wednesday);
               else if (dayOfWeek == 4)
                   System.out.println(thursday);
               else if (dayOfWeek == 5)
                   System.out.println(friday);
               else 
                   System.out.println(saturday);
               
   dayOfWeek = ((31 % 7) + dayOfWeek);
    
    System.out.print("September 1, " + year + "is ") ; 
               if (dayOfWeek == 0)
                   System.out.println(sunday);
               else if (dayOfWeek == 1)
                   System.out.println(monday);
               else if (dayOfWeek == 2)
                   System.out.println(tuesday);
               else if (dayOfWeek == 3)
                   System.out.println(wednesday);
               else if (dayOfWeek == 4)
                   System.out.println(thursday);
               else if (dayOfWeek == 5)
                   System.out.println(friday);
               else 
                   System.out.println(saturday);
               
    dayOfWeek = ((30 % 7) + dayOfWeek);
    
    System.out.print("October 1, " + year + "is ") ; 
               if (dayOfWeek == 0)
                   System.out.println(sunday);
               else if (dayOfWeek == 1)
                   System.out.println(monday);
               else if (dayOfWeek == 2)
                   System.out.println(tuesday);
               else if (dayOfWeek == 3)
                   System.out.println(wednesday);
               else if (dayOfWeek == 4)
                   System.out.println(thursday);
               else if (dayOfWeek == 5)
                   System.out.println(friday);
               else 
                   System.out.println(saturday);
               
    dayOfWeek = ((31 % 7) + dayOfWeek);
    
    System.out.print("Nobember 1, " + year + "is ") ; 
               if (dayOfWeek == 0)
                   System.out.println(sunday);
               else if (dayOfWeek == 1)
                   System.out.println(monday);
               else if (dayOfWeek == 2)
                   System.out.println(tuesday);
               else if (dayOfWeek == 3)
                   System.out.println(wednesday);
               else if (dayOfWeek == 4)
                   System.out.println(thursday);
               else if (dayOfWeek == 5)
                   System.out.println(friday);
               else 
                   System.out.println(saturday);
               
   dayOfWeek = ((30 % 7) + dayOfWeek);
    
    System.out.print("December 1, " + year + "is ") ; 
    switch (dayOfWeek) {
        case 0:
            System.out.println(sunday);
            break;
        case 1:
            System.out.println(monday);
            break;
        case 2:
            System.out.println(tuesday);
            break;
        case 3:
            System.out.println(wednesday);
            break;
        case 4:
            System.out.println(thursday);
            break;
        case 5:
            System.out.println(friday);
            break;
        default:
            System.out.println(saturday);
            break;
    }
               
}

} '''

Brian
  • 47
  • 5
  • Would it be possible for you to paste you entire code into the question? I'm assuming that "input" is a Scanner on System.in, but I could be wrong. – NomadMaker Oct 10 '20 at 16:59
  • NomadMaker I am happy to do so, although I am not quite happy with the rest of the code either. I want to make a loop for it. But it is good enough for now. Here it is: – Brian Oct 10 '20 at 17:28

0 Answers0