我有一个基于命令行的程序,当它们输入命令“echo”时,缓冲区将echo之后的单词写入名为“talkfile”的文件(此代码被省略)。
我选择了限制为100个单词。但是,用户可以随意写任何内容。 talkfile.write应该在数组中写入所有非空值。当我运行它时,我得到一个空指针错误。我该如何解决这个问题?
String[] inputSplit = input.split(" ");
switch (inputSplit[0]) {
case "echo" :
for (int i = 0; i < inputSplit.length; i++)
{
if (inputSplit[i] == null)
talkfile.write(inputSplit[1-100]);
}
sysOut(talkfile.read());
break;
}
答案 0 :(得分:0)
我想你打算写:
for (int i = 1; i < inputSplit.length; i++)
{
if (inputSplit[i] != null)
talkfile.write(inputSplit[i]);
}
答案 1 :(得分:-1)
if (inputSplit[i] != null)
talkfile.write(inputSplit[1-100]);
您使用== null检查。将其更改为!= null。