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

标签 java arrays

我试图让它在我获得用户输入的地方,其中有一个字符串,而不是后面的数字

[String] [int]

我想要做的是将字符串保存到整数的数值上......而我所拥有的一切都在这里

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);
    }
}

它给了我一个错误

Exception in thread "main" java.lang.NullPointerException

at test.main(test.java:16)

最佳答案

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

mem = new String[n]//n 是您期望的数组中的槽数

您会遇到空指针异常,因为当您尝试为其分配值时,静态内存数组为空(第 16 行)

关于java - 通过用户输入将某个对象保存在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23036959/

相关文章:

c++ - 面对使用指针的困难

java - 从字符串转换为时间戳时保留时间戳小时值

java - jar 中的 @PropertySource 注释中的占位符在预热时未解析

JavaScript 从数组中存储 Id

javascript - 如何通过 javascript 中的函数返回数组?

javascript - 具有非空值的唯一键

javascript - 如果属性名称可以是任意的,如何引用对象属性

java - 如何向所有登录用户发送通知

java - hdr 直方图足迹如何保持恒定

java - 如何在 Derby 数据库中设置双列的精度?