java - 为什么我的数组不打印出我的输入?

标签 java arrays

我正在尝试制作一个应用程序,要求用户输入数组中的项目数,然后要求他们用整数填充该数组。然后,将其打印出来。

当我运行它时,它要求我输入,然后给我:

线程“main”中出现异常 java.lang.ArrayIndexOutOfBoundsException: 10 在 main.main(main.java:13)

import java.util.Scanner;

public class main {
public static void main(String [] args){
    Scanner scan = new Scanner(System.in);
    System.out.println("Input number of units in array: ");
    int i1 = scan.nextInt();
    int[] arrayOne= new int[i1];

    for(int i=0 ; i<=i1 ; i++){

        System.out.println("Enter " + i + " unit in array.");
        arrayOne[i] = scan.nextInt();

    }


    System.out.println(arrayOne);


}

}

你们能帮我找出我的错误在哪里吗?我尝试了一些不同的方法,但似乎没有任何效果。

谢谢!

最佳答案

数组是从零开始的。在这里你超出了上限。替换:

for (int i = 0; i <= i1; i++) {

for (int i = 0; i < i1; i++) {

也可以使用Arrays#toString显示数组内容,否则 Object#toString将显示数组的表示形式:

System.out.println(Arrays.toString(arrayOne));

关于java - 为什么我的数组不打印出我的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16492461/

相关文章:

java - SDN4 : ClassCastException: java. util.HashMap 无法转换为 [EntityNode]

java - 如何管理与数据库 SQL 的连接

Java客户端服务器发送字节接收器无限期监听

javascript - 如何使用 javascript 为数据对创建动态数组?

java - 无限循环不起作用

java - 我的剪刀石头布游戏不会显示平局

c - 如何在 C 中将单词作为变量?

java - 反转数组顺序

java - 测试 toString 但失败?

arrays - Numpy 4x3 矩阵 LinAlgError : 1-dimensional array given. 数组必须至少是二维的