Java (Find the future date with if else statements)

后端 未结 6 1571
故里飘歌
故里飘歌 2020-12-22 14:39

I have a question that I can\'t figure it out , Thank you: Write a program that prompts the user to enter an integer for today\'s day of the week (Sunday is 0 ,Monday is 1 ,

6条回答
  •  别那么骄傲
    2020-12-22 15:14

    The question is from a book titled "Introduction to Java programming" by Y. Daniel Liang. Apart from using the string type, which I believe is covered in the next chapter; the solution I wrote for this exercise uses only what you have been taught so far.

    import java.util.Scanner;
    
    public class Exercise_03_06 {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
    
            System.out.print("Enter today's day: ");
            int todaysDay = input.nextInt();
    
            System.out.print("Enter the number of days elapsed since today: ");
            int elapsedDays = input.nextInt();
    
            int futureDay = (todaysDay + elapsedDays) % 7;
            String day_of_week = "";
    
            switch (todaysDay) {
                case 0: day_of_week = "Sunday"; break;
                case 1: day_of_week = "Monday"; break;
                case 2: day_of_week = "Tuesday"; break;
                case 3: day_of_week = "Wednesday"; break;
                case 4: day_of_week = "Thursday"; break;
                case 5: day_of_week = "Friday"; break;
                case 6: day_of_week = "Saturday";
            }
    
            switch (futureDay) {
                case 0:
                    System.out.println("Today is " + day_of_week + " and the future day is Sunday."); break;
                case 1:
                    System.out.println("Today is " + day_of_week + " and the future day is Monday."); break;
                case 2:
                    System.out.println("Today is " + day_of_week + " and the future day is Tuesday."); break;
                case 3:
                    System.out.println("Today is " + day_of_week + " and the future day is Wednesday."); break;
                case 4:
                    System.out.println("Today is " + day_of_week + " and the future day is Thursday."); break;
                case 5:
                    System.out.println("Today is " + day_of_week + " and the future day is Friday."); break;
                case 6:
                    System.out.println("Today is " + day_of_week + " and the future day is Saturday.");
            }
        }
    }
    

    Output:

    Enter today's day: 0
    Enter the number of days elapsed since today: 31
    Today is Sunday and the future day is Wednesday.
    

    Notes:

    • The first switch statement assigns a day of type string to the variable day_of_week which is later used for printing "today's day".

    • To obtain the future day, you must find the remainder of the sum of today's day and the number of days elapsed divided by 7.

    • The last switch statement "matches" a case number that is identical to the number stored within the futureDay variable (which is obtained by performing the mathematical operation noted above).

提交回复
热议问题