首页 > 解决方案 > 如何在java中添加新记录?

问题描述

主程序:

System.out.print("Enter the new student name: ");
String studName = input.nextLine();
newCourse.addStudent(studName);

班级:

public void addStudent(String studName){
        studentNames[noOfStudents] = studName;
        noOfStudents++;
    }

运行后显示此错误:线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 3

标签: java

解决方案


如果你想使用一个数组,因为它不是可消耗的,你需要创建一个底层数组的副本,它的索引比原始数组多一个,以便将想要的元素放入其中。

此示例使用自己的方法来执行此操作:

public static void main(String[] args) {
    final int [] start = {1,7,-4},
    added = append(start, 77);
    System.out.println("added: " + Arrays.toString(added));
  }

static public int[] append(final int[] values, final int newValue) {
  final int[] result = Arrays.copyOf(values, values.length + 1);
  result[values.length] = newValue;
  return result;}

推荐阅读