我正在写一些文字冒险,但我在开始时遇到了一个错误.我想询问玩家的性别,一切运作良好,但是如果写错了性别的消息则不会显示.
我究竟做错了什么?
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\"");
}
Run Code Online (Sandbox Code Playgroud)
我也试过了
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\"");
}
Run Code Online (Sandbox Code Playgroud)
和
if (!scan.next().equalsIgnoreCase("Frau") && !scan.next().equalsIgnoreCase("Mann")) {
System.out.println("Entschuldige, wir sind hier sehr konservativ...Es gibt nur \"Mann\" oder \"Frau\"");
}
Run Code Online (Sandbox Code Playgroud)
您没有String在if和else if语句中进行比较,因为每次调用scan.next()都会String从输入中返回一个新的读取.
您应该将String存储在变量中并重新使用它:
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")) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |