我被要求创建一个程序,在数组中存储一系列合适的名词,形容词和动词。这些必须在程序运行开始时设置。而不是询问用户,每次它生成字母时,它只是从适当的数组中随机选择单词。数组将传递给表示模板的方法。
我是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
答案 0 :(得分:3)
你在这里遇到了一些问题,所以让我们来看看。
首先是概念问题。您不应该从printmessage
方法返回任何内容,因为您所做的只是显示消息对话框。
接下来,您不会对这四个result
变量做任何事情,并且它们只会持续在该方法的范围内。这就是说,不是很长。我认为你不需要它们。
接下来,技术问题:
一个return
就是代码执行停止所需的全部内容。如果它是有效的代码,您只能返回result1
。由于我们之前讨论过您不需要从此方法返回任何内容,因此请删除多余的return
s。
JOptionPane#showMessageDialog
返回void
;也就是说,它什么都不返回。你不能将它的返回类型的值赋给变量,所以这些变量绝对没有用。删除作业和声明。
不要忘记将方法的返回类型更改为void
而不是String
。
清除arrays()
中的来电,以便最后只调用printmessage
,之后不做任何其他操作。
我留下逻辑错误(我确实注意到那里有一些时髦的字符串连接和语法错误)作为练习给读者。