Если я правильно понимаю, компилятор знает, что у нас константы ограниченное количество и в конкретном случае их всего семь. Также, если я ничего не путаю, пункт default является необязательным. Но в таком виде, как в примере ниже, валидатор выдает ошибку "com/javarush/task/pro/task16/task1604/Solution.java:21: error: the switch expression does not cover all possible input values", которая пропадает после раскомментирования пункта default. Возникает вопрос: почему не принимает решение без default?
package com.javarush.task.pro.task16.task1604;
import java.util.Calendar;
import java.util.GregorianCalendar;
/*
День недели рождения твоего
*/
public class Solution {
static Calendar birthDate = new GregorianCalendar();
public static void main(String[] args) {
System.out.println(getDayOfWeek(birthDate));
}
static String getDayOfWeek(Calendar calendar) {
//напишите тут ваш код
var count = calendar.get(Calendar.DAY_OF_WEEK);
String value = switch (count) {
case 1 -> "Воскресенье";
case 2 -> "Понедельник";
case 3 -> "Вторник";
case 4 -> "Среда";
case 5 -> "Четверг";
case 6 -> "Пятница";
case 7 -> "Суббота";
// default -> "Ошибка";
};
return value;
}
}