У нас условия задачи - нужно использовать метод nextInt(int) класса Random, который должен возвращать значения от 0 до 7 включительно. В зависимости от результата работы метода nextInt(int) возвращается один из вариантов ответа: 0 -> Бесспорно 1 -> Определённо да 2 -> Вероятнее всего 3 -> Хорошие перспективы 4 -> Спроси позже 5 -> Попробуй снова 6 -> Мой ответ — нет 7 -> Весьма сомнительно Иначе вернуть null. Вот мой код -
public class MagicBall {
    private static final String CERTAIN = "Бесспорно";
    private static final String DEFINITELY = "Определённо да";
    private static final String MOST_LIKELY = "Вероятнее всего";
    private static final String OUTLOOK_GOOD = "Хорошие перспективы";
    private static final String ASK_AGAIN_LATER = "Спроси позже";
    private static final String TRY_AGAIN = "Попробуй снова";
    private static final String NO = "Мой ответ — нет";
    private static final String VERY_DOUBTFUL = "Весьма сомнительно";

    public static String getPrediction() {
        Random r = new Random();
        int i = r.nextInt(7) + 1;
        String[] strings = new String[8];
        strings[0] = CERTAIN;
        strings[1] = DEFINITELY;
        strings[2] = MOST_LIKELY;
        strings[3] = OUTLOOK_GOOD;
        strings[4] = ASK_AGAIN_LATER;
        strings[5] = TRY_AGAIN;
        strings[6] = NO;
        strings[7] = VERY_DOUBTFUL;

        return strings[i];
        }
    }
Но ЗАЧЕМ прописывать иначе, если это "Иначе" никогда не наступит? Вот что не так может пойти, что у нас выскочит это "Иначе", чтобы я его прописывал, я еще глянул правильное решение, ну это же пиз*** Все в if и else if, разве так надо? Я вижу эти условия так - Если собака животное, то сделай это А если СОБАКА НЕ ЖИВОТНОЕ, то null. Это в моем понимании, понимании новичка, попрошу высокоуровневых ребят меня как следует проучить и объяснить, где косяк, и почему мне все-таки следует прописать это несчастное "Иначе"