Любовное письмо - используя массивы для печати сообщения

1

Меня попросили создать программу, в которой хранятся серии подходящих существительных, прилагательных и глаголов в массивах. Они должны быть настроены в начале прогона программы. Вместо того, чтобы спрашивать пользователя, каждый раз, когда он генерирует букву, он просто выбирает слова наугад из соответствующего массива. Массивы передаются методам, которые представляют шаблоны.

Я новичок в java, и это то, что мне удалось сделать ниже, но показывает ошибки, говорящие, что void не может быть преобразован в строку для каждой части сообщения печати. Я был бы рад, если кто-то может помочь мне подойти к этому простому вопросу, с которым я борюсь, я не знаю, правильно ли я делаю это.

Любая помощь приветствуется.

public static void arrays()
   {
    String []noun = {"face", "eyes", "tender", "lips", "ears", "roses"};
    Random random = new Random();
    int rand1 = random.nextInt(noun.length);


    String []verb = {"enchant", "dazzle", "cuddle" , "lure", "desire", "dream" };
    Random random2 = new Random();
    int rand2 = random2.nextInt(verb.length);

    String []adjective = { "Alluring", "Angelic", "Adoring", "Appealing", "Attractive", "beautiful"};
    Random random3 = new Random();
    int rand3 = random3.nextInt(adjective.length);  
    printmessage (noun[rand1], verb[rand2], adjective[rand3]);      
}

// END arrays

 public static void printmessage(String noun, String verb, String adjective)
{

    System.out.println("I would love to " + verb + " " + adjective + " " + noun + "\n");

    System.out.println("Your are my " + noun + " " + adjective + " " + verb + "\n");

    System.out.println("you always look great in that " + noun + " ,as you always do, since your so " + adjective + "\n");

    System.out.println("I get butterflies when I see you in" + noun + " , you make me " + verb + " , in your " + adjective + " world" + "\n");
    }
 } // END class loveletter
  • 1
    одна проблема заключается в том, что вы пытаетесь вернуть 4 результата одним методом. Только первое возвращение будет оценено, а остальное может вызвать ошибки (не уверен, как обработчик java справится с этим).
  • 1
    JOptionPane.html # showMessageDialog ничего не возвращает, не возвращает String
Показать ещё 3 комментария
Теги:
arrays

1 ответ

3

У вас здесь проблемы, поэтому пройдите через них.

Во-первых, концептуальный вопрос. Вам не нужно возвращать что-либо из вашего метода printmessage, поскольку все, что вы делаете, показывает диалог сообщения.

Затем вы ничего не делаете с этими четырьмя переменными result, и они останутся только в рамках этого метода. Это сказать, не очень долго. Я не думаю, что они вам нужны.

Далее, технические вопросы:

  • Один return - это все, что требуется для остановки выполнения кода. Если бы это был действительный код, вы бы вернули result1. Поскольку мы ранее обсуждали, что вам не нужно ничего возвращать из этого метода, удалите лишнее return s.

  • JOptionPane#showMessageDialog возвращает void; то есть ничего не возвращает. Вы не можете присвоить значение возвращаемого типа переменной, поэтому переменные вам абсолютно не подходят. Удалите назначение и объявления.

  • Не забудьте изменить тип возврата вашего метода на void вместо String.

  • Очистите вызов в arrays() чтобы он только printmessage в конце, и после этого ничего не делает.

Я оставляю логические ошибки (я заметил некоторые фанки конкатенации строк и грамматические ошибки там) в качестве упражнения для читателя.

  • 0
    Все еще получаю ошибки, хотя я действовал на все, что вы сказали: / Я сдаюсь. Я потратил целую вечность, пытаясь решить эту проблему. Кто-нибудь может решить этот код для меня, чтобы он работал? Я сыт по горло сейчас. @makoto
  • 0
    Таким образом, вы изменили тип возврата вашего метода на void , удалили назначения для этих переменных result , удалили операторы return , удалили назначение в arrays результата printmessage и удалили последующее JOptionPane после вашего вызова printmessage ? И вы все еще получаете ошибки?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню