Java 为什么我在输入一个参数后不退出while循环$
当我输入$时,我希望while循环退出,但它会继续循环。谢谢你的帮助Java 为什么我在输入一个参数后不退出while循环$,java,while-loop,Java,While Loop,当我输入$时,我希望while循环退出,但它会继续循环。谢谢你的帮助 import java.io.*; import java.util.*; public class test { public static void main(String[] args) { String oneLine = ""; try { BufferedReader indata = new Buffe
import java.io.*;
import java.util.*;
public class test {
public static void main(String[] args) {
String oneLine = "";
try {
BufferedReader indata = new
BufferedReader(new InputStreamReader(System.in));
while (!oneLine.equals("$")) {
oneLine = indata.readLine();
System.out.println(oneLine);
}
}
catch (Exception e) {
System.out.println("Error --" + e.toString());
}
System.out.println("outside of while \n");
return;
}
}
将代码更改为:
String oneLine = "";
while ( !oneLine.equals ("$") && oneLine != null){
oneLine = indata.readLine();
System.out.println(oneLine);
}
您正在将BufferedReader对象与字符串进行比较。我相信你想与当前行进行比较。同样如注释中所述-您需要将
oneLine
初始化为非空值,以避免第一次进入while循环时出现NullPointerException
。尝试查看BufferedReader
是否等于字符串
;你认为会发生什么?问题的第二部分。如果我输入$abc,我想退出while循环。只要第一个字符是$I,我就想退出。谢谢。因此,您可以执行,而(oneLine.charAt(0)!='$)
oneLine
在检查循环条件时不保证初始化。如果没有更多数据可读取,则该行可能为空