На данный вопрос уже ответили:
import java.util.Scanner;
public class Classwork {
public static void main(String args[] ) throws Exception {
Scanner stdin = new Scanner(System.in);
int year = stdin.nextInt();
String month = stdin.next();
boolean isLeapYear =
(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
if(isLeapYear == true && month == "Feb")
System.out.print(month + " " + year + " has 29 days");
else if(isLeapYear == false && month == "Feb")
System.out.print(month + " " + year + " has 28 days");
switch(month){
case "Jan": System.out.print(month + " " + year + " has 31 days"); break;
case "Mar": System.out.print(month + " " + year + " has 31 days"); break;
case "Apr": System.out.print(month + " " + year + " has 30 days"); break;
case "May": System.out.print(month + " " + year + " has 31 days"); break;
case "Jun": System.out.print(month + " " + year + " has 30 days"); break;
case "Jul": System.out.print(month + " " + year + " has 31 days"); break;
case "Aug": System.out.print(month + " " + year + " has 31 days"); break;
case "Sep": System.out.print(month + " " + year + " has 30 days"); break;
case "Oct": System.out.print(month + " " + year + " has 31 days"); break;
case "Nov": System.out.print(month + " " + year + " has 30 days"); break;
case "Dec": System.out.print(month + " " + year + " has 31 days"); break;
}
}
}
Когда я ввожу в инпут 2222 Feb, оно выводит пустое значение. Скажите, что не так и что нужно исправить?
if(isLeapYear && month.equals("Feb"))
System.out.print(month + " " + year + " has 29 days");
else if(!isLeapYear && month.equals("Feb"))
System.out.print(month + " " + year + " has 28 days");
Соль в том, что строки нужно сравнивать через .equals, а не через ==.
Нет необходимости делать отдельный код для февраля, можно его спокойно встроить в switch:
case "Feb":
if (isLeapYear) {
System.out.print(month + " " + year + " has 29 days");
} else {
System.out.print(month + " " + year + " has 28 days");
}
break;
Кроме того, месяцы, имеющие одинаковое количество дней (30 или 31) можно сгруппировать:
case "Jan":
case "Mar":
case "May":
// итд
System.out.print(month + " " + year + " has 31 days");
break;
.equals("");
Допустим есть строка String str = "Hello, world!";
И нужно сравнить ее:
`if(str.equals("Hello, world!")){
System.out.println("Сравнение произошло успешно!");
}`
Делаем как то так. И все у вас должно будет заработать
Scanner stdin = new Scanner(System.in);
int year = stdin.nextInt(); String month = stdin.next();
boolean isLeapYear = ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
if(isLeapYear && month.equalsIgnoreCase("Feb"))
System.out.print(month + " " + year + " has 29 days");
else
if(month.equalsIgnoreCase("Feb"))
System.out.print(month + " " + year + " has 28 days");
switch(month){
case "Jan": System.out.print(month + " " + year + " has 31 days"); break;
case "Mar": System.out.print(month + " " + year + " has 31 days"); break;
case "Apr": System.out.print(month + " " + year + " has 30 days"); break;
case "May": System.out.print(month + " " + year + " has 31 days"); break;
case "Jun": System.out.print(month + " " + year + " has 30 days"); break;
case "Jul": System.out.print(month + " " + year + " has 31 days"); break;
case "Aug": System.out.print(month + " " + year + " has 31 days"); break;
case "Sep": System.out.print(month + " " + year + " has 30 days"); break;
case "Oct": System.out.print(month + " " + year + " has 31 days"); break;
case "Nov": System.out.print(month + " " + year + " has 30 days"); break;
case "Dec": System.out.print(month + " " + year + " has 31 days"); break;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Что будет, если объявить в классе переменные, создать массив, добавить в него переменные, а после чего присвоить массиву null? Удалятся ли переменные?...
Мне нужен полный доступ к прозрачной части, те
Изменил подпись APK c Android debug на свою и перестал получать рекламу от AdMob(Ошибка 3)
Совсем нет опыта JSДелаю супер простой калькулятор