【发布时间】:2014-12-11 05:59:46
【问题描述】:
我有一个基本的问候程序,它应该会根据用户的输入做出响应。我正在尝试使用 for 循环来完成它;然而,每当用户回复存储在不同数组中的“bad”或“you”值时,控制台都会多次打印出相同的响应。如何解决这个问题? 我是这里的菜鸟,在java中。 如果之前已回答此答案,我深表歉意。我搜索但找不到。 感谢您的宝贵时间。
import java.util.Scanner;
public class Greeter {
public static void main(String[] args) {
String[] greetings = { "well", "good", "great", "awesome", "fabulous" };
String[] bad_greetings = { "bad", "awful" };
String[] responses = { "you", "yourself" };
System.out.println("Hello there, how are you?");
String response;
Scanner scan = new Scanner(System.in);
response = scan.nextLine();
for (String greeting : greetings) {
if (response.contains(greeting)) {
System.out.println("Well, good for you!");
}
for (String b_greet : bad_greetings) {
if (response.contains(b_greet)) {
System.out.println("At least you have me.");
}
}
for (String reply : responses) {
if (response.contains(reply)) {
System.out.println("I'm well, thank you.");
// } else {
// System.out.println("Let's move on then.");
// }
}
}
}
}
}
【问题讨论】:
标签: java arrays loops for-loop nested