初学 java,题目要求:在屏幕上显示“输入姓名”,然后将用户输入的姓名保存到文本文件中,重复进行,直到用户输入空字符串为止。
判断空字符时用 s.length()
是否为零可以实现结束输入,但是用 s != ""
或者 s != "\n"
均不可以。之前我一直以为空字符串就是 ""
,从代码结果来看好像并不是? 当我单单敲一个回车的时候,java 到底读到了什么?
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String s = bufferedReader.readLine();
while(s.length() != 0) { //用 s != "" 不可以
System.out.println(s);
s = bufferedReader.readLine();
}
}
Java 中比对两个字符串使用
equals
,如果是判定是否为空(""),可以这样:另,参考 Chapter 3. Lexical Structure 第 3.10.5 节 String Literals 中的 Example 3.10.5-1. String Literals 实验部分。