情书 - 使用数组打印消息

时间:2014-11-21 18:43:56

标签: java arrays

我被要求创建一个程序,在数组中存储一系列合适的名词,形容词和动词。这些必须在程序运行开始时设置。而不是询问用户,每次它生成字母时,它只是从适当的数组中随机选择单词。数组将传递给表示模板的方法。

我是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 个答案:

答案 0 :(得分:3)

你在这里遇到了一些问题,所以让我们来看看。

首先是概念问题。您不应该从printmessage方法返回任何内容,因为您所做的只是显示消息对话框。

接下来,您不会对这四个result变量做任何事情,并且它们只会持续在该方法的范围内。这就是说,不是很长。我认为你不需要它们。

接下来,技术问题:

  • 一个return就是代码执行停止所需的全部内容。如果它是有效的代码,您只能返回result1。由于我们之前讨论过您不需要从此方法返回任何内容,因此请删除多余的return s。

  • JOptionPane#showMessageDialog返回void;也就是说,它什么都不返回。你不能将它的返回类型的值赋给变量,所以这些变量绝对没有用。删除作业和声明。

  • 不要忘记将方法的返回类型更改为void而不是String

  • 清除arrays()中的来电,以便最后只调用printmessage,之后不做任何其他操作。

我留下逻辑错误(我确实注意到那里有一些时髦的字符串连接和语法错误)作为练习给读者。