Java if-else语句中的错误
我正在写一篇小冒险小说,但一开始我遇到了一个错误。 我想问一下玩家的性别,一切都很顺利,但是如果写错了性别,信息就不会显示出来 我做错了什么Java if-else语句中的错误,java,if-statement,Java,If Statement,我正在写一篇小冒险小说,但一开始我遇到了一个错误。 我想问一下玩家的性别,一切都很顺利,但是如果写错了性别,信息就不会显示出来 我做错了什么 if (scan.next().equalsIgnoreCase("Frau")) { System.out.println("Oh eine Dame des" + sClanname + " Clans"); sGender = scan.next(); } else if
if (scan.next().equalsIgnoreCase("Frau")) {
System.out.println("Oh eine Dame des" + sClanname + " Clans");
sGender = scan.next();
} else if (scan.next().equalsIgnoreCase("Mann")) {
System.out.println("Oh ein Herr des" + sClanname + " Clans");
sGender = scan.next();
} else {
System.out.println("Entschuldige, wir sind hier sehr konservativ...Es gibt nur \"Mann\" oder \"Frau\"");
}
我也试过了
if (scan.next().equalsIgnoreCase("Frau") || scan.next().equalsIgnoreCase("Mann")) {
System.out.println("Oh eine Dame des" + sClanname + " Clans");
sGender = scan.next();
} else {
System.out.println("Entschuldige, wir sind hier sehr konservativ...Es gibt nur \"Mann\" oder \"Frau\"");
}
及
您没有比较if和else if语句中的相同字符串,因为每次调用scan.next都会返回从输入读取的新字符串 应将字符串存储在变量中并重新使用:
String s = scan.next();
if (s.equalsIgnoreCase("Frau")) {
System.out.println("Oh eine Dame des" + sClanname + " Clans");
sGender = scan.next();
} else if (s.equalsIgnoreCase("Mann")) {
比较sGender而不是scan.next
if (scan.next().equalsIgnoreCase("Frau")) {
System.out.println("Oh eine Dame des" + sClanname + " Clans");
sGender = scan.next();
} else if (sGender.equalsIgnoreCase("Mann")) {
System.out.println("Oh ein Herr des" + sClanname + " Clans");
sGender = scan.next();
} else {
System.out.println("Entschuldige, wir sind hier sehr konservativ...Es gibt nur \"Mann\" oder \"Frau\"");
}
每个scan.next都试图扫描输入的下一行。
如果要比较相同的输入,请将其保存在变量中一次,然后使用。您在每个If语句中调用scan.next,如果第一个条件为false,则会再次执行它。询问一次,然后使用该结果。在第一个else分支中,您将同时调用if和else。接下来,下面的&&和| |条件也是如此;除此之外,很难说。你犯了什么错误?谢谢,我没想到!
if (scan.next().equalsIgnoreCase("Frau")) {
System.out.println("Oh eine Dame des" + sClanname + " Clans");
sGender = scan.next();
} else if (sGender.equalsIgnoreCase("Mann")) {
System.out.println("Oh ein Herr des" + sClanname + " Clans");
sGender = scan.next();
} else {
System.out.println("Entschuldige, wir sind hier sehr konservativ...Es gibt nur \"Mann\" oder \"Frau\"");
}