Как обособить значения строкового массива?

259
29 июня 2022, 09:40

Есть строковый массив из 7 значений. При вводе числа система выдаёт день недели. Как обособить числа меньше 0 и больше 7, чтобы вывод был "Такого дня недели не существует".

String weekDay[] = {"Воскресенье", "Понедельник", "Вторник",
        "Среда","Четверг", "Пятница","Суббота"};
System.out.println(weekDay[x%7]);
Answer 1

Олексій Моренець,все правильно написал только не дописал ELSEтам все работает ...

    if (x<0 || x>6) {
    System.out.println("Not Used");
} else {
    System.out.println(weekDay[x%7]);
}

можно проще - тернарным оператором

Answer 2

Можно собрать из массива карту 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));// Такого дня недели не существует
READ ALSO
Хранение и восстановление PrivateKey

Хранение и восстановление PrivateKey

Задача: после генерации PrivateKey обеспечить его хранение и дальнейшее восстановление для подписания документов и проверки созданных с его...

176
Stream api filter

Stream api filter

Всем привет!) Столкнулась с проблемой

204
Организация тестов в многомодульном проекте

Организация тестов в многомодульном проекте

Доброго времени)) Имеется модуль AВ нем в тестовых директориях лежат тестовые сущности (не тесты)

156
Какой Сервер выбрать для Java

Какой Сервер выбрать для Java

Пытаюсь изучать разработку web приложений на JavaПопробовал TomCat, с ним проблем не возникло, вот только это не полноценный сервер, а хотелось...

349