У меня есть задача сделать программу, которая позволяет пользователю ввести дату своего рождения, и он будет выводить их китайского зодиака животных и их астрологический знак. Программа считает, что месяцы - это переменные, которые не объявлены, но я пытаюсь сделать их значениями, которые для переменной «месяц».Как использовать строку в качестве входного значения?
Вот код,
int day, year;
String month;
System.out.println("Enter the month you were born.");
month=in.nextLine();
System.out.println("Enter day you were born.");
day=in.nextInt();
System.out.println("Enter the year you were born.");
year=in.nextInt();
if (month==January && day <=20)
System.out.println("You are a Capricorn.");
if (month==January && day > 20)
System.out.println ("You are an Aquarius.");
if (month==February && day <= 19)
System.out.println ("You are an Aquarius.");
if (month==February && day >19)
System.out.println ("You are a Pisces.");
if (month==March && day <= 20)
System.out.println ("You are a Pisces.");
if (month==March && day > 20)
System.out.println ("You are an Aries.");
if (month==April && day <= 20)
System.out.println ("You are an Aries.");
if (month==April && day >20)
System.out.println ("You are a Taurus.");
if (month==May && day <= 21)
System.out.println ("You are a Taurus.");
if (month==May && day > 21)
System.out.println ("You are a Gemini.");
if (month==June && day <= 21)
System.out.println ("You are a Gemini.");
if (month==June && day >21)
System.out.println ("You are a Cancer.");
if (month==July && day <=22)
System.out.println ("You are a Cancer.");
if (month==July && day >22)
System.out.println ("You are a Leo.");
if (month==August && day <=22)
System.out.println ("You are a Leo.");
if (month==August && day >22)
System.out.println ("You are a Virgo.");
if (month==September && day <=23)
System.out.println ("You are a Virgo.");
if (month==September && day >23)
System.out.println ("You are a Libra.");
if (month==October && day <=23)
System.out.println ("You are a Libra.");
if (month==October && day >23)
System.out.println ("You are a Scorpio.");
if (month==November && day <=22)
System.out.println ("You are a Scorpio.");
if (month==November && day >22)
System.out.println ("You are a Sagittarius.");
if (month==December && day <=21)
System.out.println ("You are a Sagittarius.");
else
System.out.println ("You are a Capricorn.");
'месяц == "январь"' не хорошая идея, 'month.equals ("январь")' будет работать лучше в Java –
Спасибо, ребята. Еще рано, пока еще не был кофе;) – BlackHatSamurai
@ АлексСестеров на самом деле, лучшей идеей является «Январь» .equals (month) ', чтобы избежать NPE. –