Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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/2/ssis/2.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.lang.NullPointerException(字符串切碎器)_Exception_Nullpointerexception - Fatal编程技术网

“线程中的异常”;“主要”;java.lang.NullPointerException(字符串切碎器)

“线程中的异常”;“主要”;java.lang.NullPointerException(字符串切碎器),exception,nullpointerexception,Exception,Nullpointerexception,我有以下课程: public class{ public static String[] guillotine(String[] s){ String[]inArray = new String[3]; String[]outArray = new String[inArray.length]; for (int i = 0; i < inArray.length; i++) outArray[i] = inArray[i].substring(1)

我有以下课程:

public class{
  public static String[] guillotine(String[] s){
    String[]inArray = new String[3];
    String[]outArray = new String[inArray.length];
    for (int i = 0; i < inArray.length; i++)
      outArray[i] = inArray[i].substring(1);
    return outArray;
  }

  public static void main(String[]args) {
    String[]a = {"meat", "fat", "flukes"};
    String[]b = guillotine(a);
    System.out.println(b);      
  }
}
公共类{
公共静态字符串[]断头台(字符串[]s){
字符串[]inArray=新字符串[3];
String[]outArray=新字符串[inArray.length];
对于(int i=0;ioutArray[i]=inArray[i]。子字符串(1);
返回数组;
}
公共静态void main(字符串[]args){
字符串[]a={“肉”、“脂肪”、“吸虫”};
字符串[]b=断头台(a);
系统输出打印ln(b);
}
}

我在class.guillotine(Jacknigger.java:8)的class.main(Jacknigger.java:13)的线程“main”java.lang.NullPointerException中得到了一个
异常
您的NPE可能在这一行:
outArray[I]=inaray[I]。子字符串(1)
-尽管您已经创建了
inaray
,但您还没有初始化它的任何成员,因此,
inArray[i]
为空

基于您完全忽略该方法的输入
s
,您可能希望替换

String[]inArray = new String[3];


所以它实际上会使用您传入的数组。

那么,哪一行是第8行?不管它是什么,该行中使用的引用(指针)为null。您需要使用调试器或println语句来找出哪个引用为null,然后找出原因。NullPointerException是所有Java错误中最容易调试的错误之一,因此它是在.outArray[i]=inArray[i].substring(1)上练习的好错误;我从来没有调试过,我使用的是eclipse,你会怎么做呢?是的,这只是一个占位符。在谷歌搜索的最后有很多eclipse调试教程。如果你不知道怎么做,你就不会在编程方面走得很远。
String[]inArray = s;