如何在二维数组(JAVA)上保留新添加的值

如何在二维数组(JAVA)上保留新添加的值,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我被困在我节目的这一部分。这是我的学生信息系统的两个选项(不使用GUI/JOption,也不链接到数据库。我已经有了一个二维数组(字符串记录[][]=新字符串[5][3];),其中前两行([0][0]到[0][2]和[1][0]到[1][2])填充了预先分配的数据(名字、姓氏、课程)。 如果您看下面,选择了“b”或“b”选项的部分,用于向新数组添加新值(递增,以便在使用选项b时,它将首先分配[2][0],然后分配[3][0] 等等)。它似乎起了作用,因为它确实显示我输入的所有数据都已添加并按正确

我被困在我节目的这一部分。这是我的学生信息系统的两个选项(不使用GUI/JOption,也不链接到数据库。我已经有了一个二维数组(字符串记录[][]=新字符串[5][3];),其中前两行([0][0]到[0][2]和[1][0]到[1][2])填充了预先分配的数据(名字、姓氏、课程)。 如果您看下面,选择了“b”或“b”选项的部分,用于向新数组添加新值(递增,以便在使用选项b时,它将首先分配[2][0],然后分配[3][0] 等等)。它似乎起了作用,因为它确实显示我输入的所有数据都已添加并按正确的顺序显示。问题是:当我选择“Y”返回顶部菜单并选择选项A查看新添加的记录(使用ID号2)时,它显示它包含所有“null”“。有什么我错过了吗?这是我完成此计划所需的缺失步骤。感谢您的帮助。”

 if("a".equals(option1)|| "A".equals(option1)){
        System.out.println("Please enter the Student ID for the record to view.");
        String a = reader1.readLine();
        idcheck = Integer.parseInt(a);
        x1=idcheck;
        for(int y=0;y<3;y++){
        System.out.print(records[x1][y] + " ");
        }            

        System.out.println("\nReturn to Main Menu or Exit? (Y/N)");
        cont1= reader1.readLine(); 
    }
    else if("b".equals(option1)||"B".equals(option1)){
        arr_count++;
        for (int y = 0; y<3;y++){
        System.out.println("Enter Value for "+ option [y]+":"  ); 
        String X = reader1.readLine();
        records[arr_count][y] = X;            
    }    
if(“a”.equals(选项1)| |“a”.equals(选项1)){
System.out.println(“请输入要查看的记录的学生ID”);
字符串a=reader1.readLine();
idcheck=Integer.parseInt(a);
x1=idcheck;

对于(int y=0;yy您必须添加读卡器代码,因为可能存在错误。以下是读卡器代码:BufferedReader reader1=new BufferedReader(new InputStreamReader(System.in));在每个if-else之后我的continue选项是一个do选项,您可以自己通过打印
idcheck
x1
X
来解决此问题,以查看它们是否在每种情况下都具有有效值。这可以帮助您确定
null
值何时出现,而无需通过调试器。idcheck取决于t用户在选项A中输入。x1只保留相同的值以简化for循环。x只读取用户输入的值以添加到选项B中的数组中。仍然没有足够的代码来了解为什么会得到null