public class Solution {
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
int a = number;
if (a==1){
System.out.println("понедельник");}
if (a==2){
System.out.println("вторник");}
if (a==3){
System.out.println("среда");}
if (a==4){
System.out.println("четверг");}
if (a==5){
System.out.println("пятница");}
if (a==6){
System.out.println("суббота");}
if (a==7){
System.out.println("воскресенье");}
else{
System.out.println("такого дня недели не существует");}
}
}
Не исполнятся предпоследнее условие и выводится четверг и такого дня не существует. Что здесь не так?
София
11 уровень
Помогите, пожалуйста!
Обсуждается
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
mps_ andruxa
20 декабря 2019, 06:50
Во всех кроме первого и последнего: else if, а не if
0
Ksenia VolkovaJava Developer в DXCMaster
18 декабря 2019, 16:19
else относится только к тому if, который находится непосредственно перед ним.
Твой else выполнится во всех случаях, кроме (a==7)
(и зачем вообще нужна а, если она просто дублирует num?)
0
София
18 декабря 2019, 16:28
А как тогда изобразить...?
0
Ksenia VolkovaJava Developer в DXCMaster
18 декабря 2019, 16:45
Например, вместо просто if использовать else if.
Если ввести 1, то сработает первое же условие и нет никакого смысла проверять остальные.
else if позволит проверять каждое следующее условие только если предыдущее не выполнилось.
0
София
18 декабря 2019, 17:02
Сработало, но я записала не так, а вот так: if (a>7 || a<1){ System.out.println("такого дня недели не существует");} А как бы оно выглядело если бы было использовано else if?
0
Ksenia VolkovaJava Developer в DXCMaster
18 декабря 2019, 17:27
Так тоже можно.
Но это чуть хуже, потому что какое бы ни ввели число, программа все равно будет проверять все 8 условий.
Можно было перед каждым if, кроме самого первого, добавить слово else.
0