Есть строковый массив из 7 значений. При вводе числа система выдаёт день недели. Как обособить числа меньше 0 и больше 7, чтобы вывод был "Такого дня недели не существует".
String weekDay[] = {"Воскресенье", "Понедельник", "Вторник",
"Среда","Четверг", "Пятница","Суббота"};
System.out.println(weekDay[x%7]);
Олексій Моренець,все правильно написал только не дописал ELSEтам все работает ...
if (x<0 || x>6) {
System.out.println("Not Used");
} else {
System.out.println(weekDay[x%7]);
}
можно проще - тернарным оператором
Можно собрать из массива карту Map<Integer, String> и получать день недели по номеру от 1 до 7 с помощью метода get. В случае, если такого дня недели не существует, можно использовать метод getOrDefault, или допилить метод get:
String[] weekDay = {"Воскресенье", "Понедельник", "Вторник",
"Среда", "Четверг", "Пятница", "Суббота"};
Map<Integer, String> daysMap = new HashMap<>() {
@Override
public String get(Object key) {
return super.getOrDefault(key, "Такого дня недели не существует");
}
};
daysMap.putAll(IntStream.range(0, 7).boxed()
// собираем из массива карту
.collect(Collectors.toMap(
// ключ - число,
// день недели от 1 до 7
i -> i + 1,
// значение - строка
i -> weekDay[i])));
System.out.println(daysMap.get(1)); // Воскресенье
System.out.println(daysMap.get(3)); // Вторник
System.out.println(daysMap.get(8)); // Такого дня недели не существует
System.out.println(daysMap.get(-2));// Такого дня недели не существует
Сборка персонального компьютера от Artline: умный выбор для современных пользователей