java - 如何在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
解决方案
如果你想使用一个数组,因为它不是可消耗的,你需要创建一个底层数组的副本,它的索引比原始数组多一个,以便将想要的元素放入其中。
此示例使用自己的方法来执行此操作:
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;}
推荐阅读
- c - qsort用零填充数组?
- html - 如何在不增加大小的情况下使用“行高”
- android - 从另一个 Activity 单击到 EditText 时在 ListView 中传递数据
- ios - 仅限 iOS 10:pageviewcontroller 中的 Viewcontroller 隐藏在标签栏后面
- macros - 如何在 Julia 中给宏起别名
- javascript - 意外的结束标签 ":svg:use"
- .net - 什么是?get-info=240?什么时候传入一个网址?(。网)
- c++ - CMake:修改共享库时的冗余链接
- c# - 在 c# ChromeDevTools Application 上使用无头 chrome 打印到 pdf 进入中断模式
- javascript - 如何在 Reactjs 中按升序或降序对数据进行排序?