Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数组排除空值并返回所有非空值_Java_Arrays_Null - Fatal编程技术网

Java 数组排除空值并返回所有非空值

Java 数组排除空值并返回所有非空值,java,arrays,null,Java,Arrays,Null,我有一个基于命令行的程序,在这个程序中,当他们输入命令“echo”时,缓冲区会将echo之后的单词写入一个名为“talkfile”的文件(此代码被省略) 我选择了100字的限制。但是,用户可以随机写入任何内容。talkfile.write应写入数组中的所有非空值。当我运行它时,我得到一个空指针错误。我怎样才能解决这个问题 String[] inputSplit = input.split(" "); switch (inputSplit[0]) { case "echo" : fo

我有一个基于命令行的程序,在这个程序中,当他们输入命令“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;
}
String[]inputSplit=input.split(“”);
开关(inputSplit[0]){
案例“echo”:
对于(int i=0;i

您使用==null进行了检查。将其更改为!=空。

我想你是想写:

for (int i = 1; i < inputSplit.length; i++)
{ 
     if (inputSplit[i] != null)
        talkfile.write(inputSplit[i]);
}
for(int i=1;i
inputSplit[1-100]
应该代表什么?
inputSplit
-99
第个元素修复了这个问题。然而,我仍然在线程“AWT-EventQueue-0”java.lang.ArrayIndexOutOfBoundsException:-99“@talkfile.write(inputSplit[1-00])中得到“异常”@user2113228查看我的评论(上面)和我的答案。我们快到了,这将打印数组中的最后一个值,幸运的是没有错误!我如何包含所有非空值?@user2113228这样用户运行程序就像
programname“echo列表中的项目列表”
,对吗?在这种情况下,您的意思是它只打印出
列表
?是的,先生。这正是发生的情况。@user2113228您是否已尝试打印出
inputSplit
中的所有项目,以检查它们是否在那里?(我的意思是,无论是命令行解析还是拆分都没有问题……)没有,但这正是我需要的。最优雅的写作方式是什么?talkfile.write(inputSplit[]);需要一个表达式吗?
for (int i = 1; i < inputSplit.length; i++)
{ 
     if (inputSplit[i] != null)
        talkfile.write(inputSplit[i]);
}