通过用户输入在数组中保存某个对象

时间:2014-04-12 22:36:19

标签: java arrays

我试图在我获得用户输入的地方创建一个字符串,而不是之后的数字

  

[String] [int]

我想要做的就是将String保存到整数所在的数值上......我所拥有的只是在这里

public class test {
    public static String[] mem;
    public static void main(String args[]) {
        System.out.println(" ");
        Scanner sc=new Scanner(System.in);
        String A=sc.nextLine();
        String[] B=A.split(" ");
        int D;
        switch(B.length) {
        case 1:
            D=0;
            mem[D]=B[0];
            break;
        case 2:
            D=Integer.parseInt(B[1]);
            mem[D]=B[0];
            break;
        default:
                main(null);
            break;
        }
        System.out.println(mem.length);
    }
}

它给了我一个错误

  

线程中的异常" main"显示java.lang.NullPointerException

at test.main(test.java:16)

1 个答案:

答案 0 :(得分:3)

在main方法的开头,你必须初始化mem数组。

mem = new String[n] //n is the number of slots in the array you expect

您获得空指针异常,因为当您尝试为其分配值时,静态mem数组为null(第16行)