java - 将项目插入无序数组

标签 java arrays

我试图将一个数字插入到无序数组中,但它有一些逻辑错误。使用的代码是,

    int NoOfItems = 5 ;
    int MyArray[] = {1,6,3,9,5};
    Scanner input = new Scanner(System.in);
    System.out.println("Enter a Number:");
    int m_Number = input.nextInt(); 
    if (NoOfItems < MyArray.length) {
        MyArray[NoOfItems] = m_Number;
        NoOfItems = NoOfItems + 1;
    }
    System.out.println(Arrays.toString(MyArray));

请帮我解决这个问题。

最佳答案

您的 MyArray 数组的长度为 5,因此它可以保存索引 0-4 中的对象。您试图在索引 5 中插入一个对象,这将给您带来 ArrayIndexOutOfBounds 异常。请注意,Java 中的数组具有不可变的大小。

您需要创建一个大小为 6 的新数组并将旧数组的内容复制到其中,然后添加第 5 个索引。否则,您可以使用ArrayList

关于java - 将项目插入无序数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37084928/

相关文章:

java - 如何使用 Java MulticastSocket 在不同 EC2 实例之间进行多播?

java - 在 Spring Boot 中从 application.yml 文件中读取数字

ruby - 在二维数组中注入(inject)增量计数器

Python numpy 数组切片不是 Fortran 连续的

javascript - 获取数组中具有多个位置的值的索引

c - pthread 指针数组

java - jersey-media-json-jackson 未包含在 jar 中

Java生成不重复2 ^ 48周期的 "random"数字

java - 通过 Java 控制命令行程序 session

ios - Swift:写这个数组映射的更优雅的方式?