java - 在 Java 中将项目添加到数组中
问题描述
我想创建一个长度由用户指定的数组,并且还想用循环命令填充它,然后应该通过另一个循环命令将它复制到另一个数组,所以我写了一个代码,但它会生成一个尝试运行时出错
Scanner input = new Scanner(System.in);
System.out.print("Hello, Please enter the amount of numbers: ");
int n = input.nextInt();
int array1[] = new int[n];
int array2[] = new int[n];
System.out.print("Please enter your numbers: ");
for (int i = 0; i < n; i++) {
int index = input.nextInt();
array1 [index] = array1 [i];
}
for (int i = 0; i < n; i++) {
array2[i] = array2[i];
}
System.out.println("Array 1 is: " +Arrays.toString(array1));
System.out.println("Array 2 is: " +Arrays.toString(array2));
因此,如果我输入的数组元素小于数组“n”的大小,则代码会运行一个问题,即所有元素都设置为零。但是例如,如果我输入大小为 5,并尝试填充数组,如果我尝试在数组中添加任何大于 5 的数字,程序就会崩溃。
我知道这个问题听起来很傻,但如果你们帮助我解决这个问题,我将不胜感激。
解决方案
您的代码中有两个问题。
用以下代码替换您的 for(s):
for (int i = 0; i < n; i++) {
int element = input.nextInt(); //elemet inserted by the user
array1[i] = element;
}
for (int i = 0; i < n; i++) {
array2[i] = array1[i];
}
推荐阅读
- css - 在 R 的 slickR 轮播中移动上一个下一个按钮
- node.js - 事件循环 uv__io_poll & uv__run_pending(
- sql - 记录满足多个条件的用户
- ruby - 我无法更改我想用我的 Mac (M1) 运行的 ruby 版本
- jquery - 在 vimeo 时间点触发事件
- java - Spring Data JPA - 规范查询
- ios - Xcode 在范围内找不到类型“HomeView”
- javascript - 将 javascript 字符串转换为现有的 javascript 变量
- java - Hibernate 多对多无限递归
- python - 指定类中另一个辅助函数使用的辅助函数