【发布时间】:2017-02-25 21:09:14
【问题描述】:
我正在开发一个客户端-服务器聊天应用程序,客户端通过键入“\n”决定离开聊天室。但是, String.equals() 似乎不起作用。虽然我知道 BufferedReader.readLine() 会丢弃换行符,但我已经尝试使用 Scanner 类,但它也不起作用。我在这里做错了吗?
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String keyboardInput = br.readLine();
if (keyboardInput.equals("\n")) {
break;
}
编辑:意识到我需要用另一个来逃避 \n。
【问题讨论】:
-
相当于一个空字符串......
-
是的,我也试过了,但效果不好!
-
试试 if (keyboardInput.equals("")) { break; }
-
我没说要试试... ;) 。无论如何,您可能需要稍微说出您的问题。我似乎没有得到你真正想要的东西。
-
如果用户输入了
\和n这两个字符,那么你需要比较这两个字符,但是"\n"是一个带有单个换行符 字符,而不是两个单独的字符\和n。要获得\是 Java 字符串文字,请将其加倍,即"\\n"是要比较的正确字符串。
标签: java bufferedreader