“线程中的异常”;“主要”;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;i outArray[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;