ребята, научите решать данную задачу короче, что бы в голове отложилось не одно решение.
Scanner in = new Scanner(System.in);
int a = in.nextInt();
if (a == 1) {
System.out.print("понедельник");
}
if (a == 2) {
System.out.print("вторник");
}
if (a == 3) {
System.out.print("среда");
}
if (a == 4) {
System.out.print("четверг");
}
if (a == 5) {
System.out.print("пятница");
}
if (a == 6) {
System.out.print("суббота");
}
if (a == 7) {
System.out.print("воскресенье");
}
else if (a > 7) {
System.out.print("такого дня недели не существует");
}
else if (a < 1) {
System.out.print("такого дня недели не существует");
}
}
}
edvardpage
13 уровень
ребята,помогите пожалуйста сделать покороче
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Андрей Database Developer
3 января 2020, 22:41
Сложно сказать почему у Вас ругается компилятор или не отрабатывает default
Я накидал cо switch - работает и секция "дефолт" в том числе - посмотрите не пропустили ли чего
Можно и без секции default обойтись - при первичной инициализации переменной например указать текст про "день недели не существует"
switch (numDayOfWeek) {
case 1:
nameDayOfWeek = "понедельник";
break;
case 2:
nameDayOfWeek = "вторник";
break;
//
default: nameDayOfWeek = "такого дня недели не существует";
break;
}
System.out.println(nameDayOfWeek);
0
Evgeniy
2 января 2020, 21:33
Можешь решить через список (array). Я создал список всех дней недели, и по индексу этого списка выводил значение.
Единственное, что нужно не забыть - это то, что нумерация списка начинается с нуля.
Если нужно подробнее объяснить - спрашивай или пиши в личку, постараюсь объяснить подробнее)
0
Justinian Judge в Mega City One Master
1 января 2020, 20:04
джава раш тебя научит, в рамках первого квеста ты должен фокусироваться на выполнении задач в принципе.
Все эффективные техники выполнения подобных задач будут рассматривать начиная с конца первого и начала второго квеста.
До этого времени сосредоточься на теории и выполнении задач как получается.
Подобная задача кстати, в джава не решается через "короче", это слово-лакмус даже не для новичков, а для людей вообще не знакомых с программированием, и я настоятельно рекомендую это слово забыть, данная задача решается через паттерны проектирования и полиморфизм. Темы, которые будут рассматриваться на джава раше позже.
Всему свое время.
+5
edvardpage
1 января 2020, 20:23
Хорошо, ваши советы я слушаю, буду делать так как понимаю, спасибо большое.
+1
Андрей Database Developer
1 января 2020, 19:21
Более компактная и красивая конструкция switch..case, более подходящая для этого случая
Определяет действия при "совпадении" и "для всех остальных случаев)
В случае использования IF можно было обработать ситуацию, при которой день недели не находится в диапазоне 1..7, одним условием с использованием || (или) что сделало бы код чуть короче
0
Алексей
3 января 2020, 18:24
у меня switch не прошёл, что-то не понравилось компилятору с default. Хотя я согласен, что эта конструкция более стройная и проста в прочтении. Но увы пришлось через if. А с else выходит и название дня недели и "такого дня недели не существует". В итоге проверка пишет, что не выполняется условие вывода названия дня недели. В общем у меня пока какая-то путаница.
0