所以我正在读取一个文件的输入,该文件说这些行:
NEO
You're the Oracle?
NEO
Yeah.
Run Code Online (Sandbox Code Playgroud)
所以我只想输出他的实际线,而不是它所说的NEO.所以我尝试了这个:
if(line.trim()=="NEO")
output=false;
if (output)
TextIO.putln(name + ":" + "\"" + line.trim() + "\""); // Only print the line if 'output' is true
Run Code Online (Sandbox Code Playgroud)
但那没有成功.它仍然打印NEO.我怎样才能做到这一点?
在比较Java中的字符串时,您必须使用该equals()方法.这就是原因.
if ( "NEO".equals(line.trim() )
Run Code Online (Sandbox Code Playgroud)
我想你正在寻找line.trim().equals("NEO")而不是line.trim() == "NEO"
也就是说,你可以output通过改变来摆脱变量
if(!line.trim().equals("NEO"))
{
TextIO.putln(name + ":" + "\"" + line.trim() + "\""); // Only print the if it isn't "NEO"
}
Run Code Online (Sandbox Code Playgroud)