In: Computer Science
Ive been stuck on this problem for a while. any advice would be appreciated.
Write a program that takes a date as input and outputs the date's season. The input is a string to represent the month and an int to represent the day.
Ex: If the input is: April 11
the output is: Spring
In addition, check if the string and int are valid (an actual month and day).
Ex: If the input is: Blue 65
The dates for each season are:
Spring: March 20 - June 20
Summer: June 21 - September 21
Autumn: September 22 - December 20
Winter: December 21 - March 19
this is what i have so far, its LONG but ive gone through this with a fine toothed comb and nothing works for me.
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String inputMonth = sc.next();
int inputDay = sc.nextInt();
{
if (inputMonth.equals("December") && inputDay >= 21 && inputDay <= 31){
System.out.println("Winter");}
else if (inputMonth.equals("January") && inputDay >= 1 && inputDay <= 31){
System.out.println("Winter");}
else if (inputMonth.equals("February") && inputDay >= 1 && inputDay <= 29)
System.out.println("Winter");
else if (inputMonth.equals("March") && inputDay >= 1 && inputDay <= 19)
System.out.println("Winter");
else if (inputMonth.equals("March") && inputDay >= 20 && inputDay <= 31)
System.out.println("Spring");
else if (inputMonth.equals("April") && inputDay >= 1 && inputDay <= 30)
System.out.println("Spring");
else if (inputMonth.equals("May") && inputDay >= 1 && inputDay <= 29)
System.out.println("Spring");
else if (inputMonth.equals("June") && inputDay >= 1 && inputDay <= 20)
System.out.println("Summer");
else if (inputMonth.equals("June") && inputDay >= 21 && inputDay <= 30)
System.out.println("Summer");
else if (inputMonth.equals("july") && inputDay >= 1 && inputDay <= 29)
System.out.println("Summer");
else if (inputMonth.equals("August") && inputDay >= 1 && inputDay <= 29)
System.out.println("Summer");
else if (inputMonth.equals("September") && inputDay >= 1 && inputDay <= 21)
System.out.println("Summer");
else if (inputMonth.equals("September") && inputDay >= 21 && inputDay <= 29)
System.out.println("Autumn");
else if (inputMonth.equals("October") && inputDay >= 1 && inputDay <= 31)
System.out.println("Autumn");
else if (inputMonth.equals("November") && inputDay >= 1 && inputDay <= 29)
System.out.println("Autumn");
else if (inputMonth.equals("December") && inputDay >= 1 && inputDay <= 20)
System.out.println("Autumn");
}
else{
System.out.println("Invalid");
{
thank you.
SOLUTION-
I have corrected your code and gave it below with screenshot
:)
Actually in yr code there is "{" before if case that is invalid so i have given it coreectly below
CODE-
//java
code
import java.util.Scanner;
//main class
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String inputMonth = sc.next();
int inputDay = sc.nextInt();
if (inputMonth.equals("January") && inputDay >= 1
&& inputDay <= 31)
System.out.println("winter");
else if (inputMonth.equals("February") && inputDay >= 1
&& inputDay <= 29)
System.out.println("winter");
else if (inputMonth.equals("April") && inputDay >= 1
&& inputDay <= 30)
System.out.println("spring");
else if (inputMonth.equals("May") && inputDay >= 1
&& inputDay <= 30)
System.out.println("spring");
else if (inputMonth.equals("July") && inputDay >= 1
&& inputDay <= 31)
System.out.println("summer");
else if (inputMonth.equals("August") && inputDay >= 1
&& inputDay <= 31)
System.out.println("summer");
else if (inputMonth.equals("October") && inputDay >= 1
&& inputDay <= 31)
System.out.println("autumn");
else if (inputMonth.equals("November") && inputDay >= 1
&& inputDay <= 30)
System.out.println("autumn");
else if (inputMonth.equals("March") && inputDay >= 20
&& inputDay <= 31)
System.out.println("spring");
else if (inputMonth.equals("June") && inputDay >= 1
&& inputDay <= 20)
System.out.println("spring");
else if (inputMonth.equals("June") && inputDay >= 21
&& inputDay <= 30)
System.out.println("summer");
else if (inputMonth.equals("September") && inputDay >= 1
&& inputDay <= 21)
System.out.println("summer");
else if (inputMonth.equals("September") && inputDay >=
22 && inputDay <= 30)
System.out.println("autumn");
else if (inputMonth.equals("December") && inputDay >= 0
&& inputDay <= 20)
System.out.println("autumn");
else if (inputMonth.equals("December") && inputDay >= 21
&& inputDay <= 30)
System.out.println("winter");
else if (inputMonth.equals("March") && inputDay >= 1
&& inputDay <= 19)
System.out.println("winter");
else
System.out.println("invalid");
}
}
SCREENSHOT-
IF YOU HAVE ANY DOUBT PLEASE COMMENT DOWN BELOW I WILL
SOLVE IT FOR YOU:)
----------------PLEASE RATE THE ANSWER-----------THANK
YOU!!!!!!!!----------