0

我有一个基于命令行的程序,当他们输入命令“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;
}
4

2 回答 2

0

我想你的意思是写:

for (int i = 1; i < inputSplit.length; i++)
{ 
     if (inputSplit[i] != null)
        talkfile.write(inputSplit[i]);
}
于 2013-03-05T04:57:12.393 回答
-1
if (inputSplit[i] != null)
        talkfile.write(inputSplit[1-100]);

您检查了 == null。将其更改为 != null。

于 2013-03-05T04:56:15.250 回答