我有一份家庭作业......代码在下面...有几个问题...提前感谢。初学者Java学生...如果这看起来像cludgey,请不要笑>。> 代码如下......
/*
* Getting to know you...
* @author Elle dela Victoria
* @version 092812
*/
import java.util.*;
public class A15_1
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print(
"Mind answering some questions for me?\n" +
"Type quit when you're ready to leave.\n");
while(true)
{
System.out.print("Does your name start with the letter H? ");
input.nextLine();
int ans = (int)(Math.random() * 5);
if (ans == 0)
System.out.println("That's awesome!");
if (ans == 1)
System.out.println("Awww, how unfortunate!");
if (ans == 2)
System.out.println("You're amazing at this!");
if (ans == 3)
System.out.println("LOL!");
if (ans == 4)
System.out.println("WTF!! That's horrible!");
System.out.print("Are you male? ");
input.nextLine();
int ans1 = (int)(Math.random() * 5);
if (ans1 == 0)
System.out.println("That's awesome!");
if (ans1 == 1)
System.out.println("Awww, how unfortunate!");
if (ans1 == 2)
System.out.println("You're amazing at this!");
if (ans1 == 3)
System.out.println("LOL!");
if (ans1 == 4)
System.out.println("WTF!! That's horrible!");
System.out.print("Are you female?");
input.nextLine();
int ans2 = (int)(Math.random() * 5);
if (ans2 == 0)
System.out.println("That's awesome!");
if (ans2 == 1)
System.out.println("Awww, how unfortunate!");
if (ans2 == 2)
System.out.println("You're amazing at this!");
if (ans2 == 3)
System.out.println("LOL!");
if (ans2 == 4)
System.out.println("WTF!! That's horrible!");
System.out.print("Are you in school right now?");
input.nextLine();
int ans3 = (int)(Math.random() * 5);
if (ans3 == 0)
System.out.println("So angry when you're sober!");
if (ans3 == 1)
System.out.println("Awww, how unfortunate!");
if (ans3 == 2)
System.out.println("You're amazing at this!");
if (ans3 == 3)
System.out.println("LOL!");
if (ans3 == 4)
System.out.println("WTF!! That's horrible!");
String userinput = input.nextLine();
if (userinput.equalsIgnoreCase("quit"))
break;
}
}
}
答案 0 :(得分:1)
您可以拥有一个字符串数组,并根据输入ans
打印它们:
String str[] = {"That's awesome!", "Awww, how unfortunate!",
"You're amazing at this!", "LOL!", "WTF!! That's horrible!"};
/* code */
while(true)
{
System.out.print("Does your name start with the letter H? ");
input.nextLine();
int ans = (int)(Math.random() * str.length);
System.out.println(str[ans]);
/* code */
}
答案 1 :(得分:0)
是的,你可以。您可以使用类型int
创建一个方法来使用:
public void printReply(int ans) {
if (ans == 0)
System.out.println("So angry when you're sober!");
if (ans == 1)
System.out.println("Awww, how unfortunate!");
if (ans == 2)
System.out.println("You're amazing at this!");
if (ans == 3)
System.out.println("LOL!");
if (ans == 4)
System.out.println("WTF!! That's horrible!");
}
在适当的地方打电话。
我不确定理解,我认为第一个答案涵盖了这一点。
查看wait()
方法,该方法由所有Object
指定。
顺便说一句,你的输入没有做任何事情。你可以通过拨打input.nextLine()
让它落在地板上。你应该考虑在变量中捕获它。
答案 2 :(得分:0)
我不确定这是否回答1,但它应该回答2:
private String getAnswer() {
int ans = (int)(Math.random() * 5);
switch(ans) {
case 0:
return "That's awesome!";
case 1:
return "Awww, how unfortunate!";
[... and so on ...]
}
return null
}
只需在需要答案的地方拨打电话:System.out.println(getAnswer());
答案 3 :(得分:0)
我建议使用列表来存储回复。这样可以减少对if
语句的需求,还可以防止您在四个不同的地方添加新的响应。
List<String> responseList = new ArrayList<String>();
responseList.add("That's awesome!");
responseList.add("LOL!");
responseList.add(.....);
System.out.println(responseList.get(ans));