通常,数组的大小固定,并且使用索引访问每个元素。例如,我们创建了一个大小为9的数组。然后,用于访问该数组元素的有效表达式将为a [0]至a [8](长度为1)。

每当使用–ve值或大于或等于数组大小的值时,都会引发ArrayIndexOutOfBoundsException。

例如,如果执行以下代码,它将显示数组中的元素,并要求您提供索引以选择一个元素。由于数组的大小为7,因此有效索引为0到6。

示例import java.util.Arrays;

import java.util.Scanner;

public class AIOBSample {

public static void main(String args[]) {

int[] myArray = {897, 56, 78, 90, 12, 123, 75};

System.out.println("Elements in the array are:: ");

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

Scanner sc = new Scanner(System.in);

System.out.println("Enter the index of the required element ::");

int element = sc.nextInt();

System.out.println("Element in the given index is :: "+myArray[element]);

}

}

但是,如果您观察到以下输出,则我们已请求索引为9的元素,因为它是无效索引,因此引发了ArrayIndexOutOfBoundsException并终止了执行。

输出结果Elements in the array are::

[897, 56, 78, 90, 12, 123, 75]

Enter the index of the required element ::

7

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7

at AIOBSample.main(AIOBSample.java:12)

处理异常

您可以使用try catch处理此异常,如下所示。

示例import java.util.Arrays;

import java.util.Scanner;

public class AIOBSampleHandled {

public static void main(String args[]) {

int[] myArray = {897, 56, 78, 90, 12, 123, 75};

System.out.println("Elements in the array are:: ");

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

Scanner sc = new Scanner(System.in);

System.out.println("Enter the index of the required element ::");

try {

int element = sc.nextInt();

System.out.println("Element in the given index is :: "+myArray[element]);

} catch(ArrayIndexOutOfBoundsException e) {

System.out.println("The index you have entered is invalid");

System.out.println("Please enter an index number between 0 and 6");

}

}

}

输出结果Elements in the array are::

[897, 56, 78, 90, 12, 123, 75]

Enter the index of the required element ::

7

The index you have entered is invalid

Please enter an index number between 0 and 6

java索引越界异常_如何处理Java数组索引越界异常?相关推荐

  1. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  2. java 必须try catch的异常_【java基础之异常】死了都要try,不淋漓尽致地catch我不痛快!...

    @ 1.异常 1.1 异常概念 异常 :简单说就是不正常运行,最终导致JVM的非正常停止. 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象.Java处 ...

  3. java 异常处理发生异常_处理Java中的异常

    java 异常处理发生异常 每个程序员都希望编写一个完美的程序. 也就是说,程序运行时没有任何障碍. 好吧,如果希望是马,乞g就会骑. 除了程序员的所有愿望之外,有时还会发生无法预料的情况. 在Jav ...

  4. java异常_聊聊Java中的异常及处理

    前言 在编程中异常报错是不可避免的.特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时.今天就让我们来看看什么是异常和怎么合理的处理异常吧! 异常与error介绍 ...

  5. java try catch嵌套_解析Java中未被捕获的异常以及try语句的嵌套使用

    Java未被捕获的异常 在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的.下面的小程序包括一个故意导致被零除错误的表达式. class Exc0 { public st ...

  6. java解决异常_聊聊Java中的异常及处理

    在编程中异常报错是不可避免的.特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时.今天就让我们来看看什么是异常和怎么合理的处理异常吧! 异常与error介绍 下面 ...

  7. java项目怎么定义异常_在Java项目中如何实现自定义异常

    在Java项目中如何实现自定义异常 发布时间:2020-11-11 15:41:32 来源:亿速云 阅读:77 作者:Leah 这篇文章将为大家详细讲解有关在Java项目中如何实现自定义异常,文章内容 ...

  8. java中什么时候应用异常_生产Java应用程序中的十大异常类型-基于1B事件

    java中什么时候应用异常 Pareto记录原理:97%的记录错误语句是由3%的唯一错误引起的 在最新的数据整理帖子之后,我们收到了很多反馈和问题,我们发现97%的记录错误是由10个唯一错误引起的 . ...

  9. numberformatexception是什么异常_处理Java异常的9个最佳实践

    Java中的异常处理不是一个简单的主题.初学者发现很难理解,甚至有经验的开发人员也可以花几个小时讨论如何以及应该抛出或处理哪些异常. 这就是为什么大多数开发团队都有自己的如何使用它们的规则.如果你是一 ...

  10. java 错误码设计_关于Java中异常的设计

    Java中异常分为checked 和 unchecked 两种. 首先, 什么时候使用checked,什么时候用unchecked? checked本意是要求调用方处理这个异常, unchecked ...

最新文章

  1. 基于深度学习的医学图像半监督分割
  2. 关于linux内存管理
  3. python 怎么爬桌软件数据_如何利用Python爬取并分析红岭创投的数据?
  4. c# MEF框架(二 MEF的导出(Export)和导入(Import))
  5. java swing入门教程_java swing基础(菜鸟教程学习)
  6. CMMI5认证必备条件
  7. 全网最全极限学习机(ELM)及其变种的开源代码分享
  8. 软考网络工程师易错100问
  9. SOP封装和SOIC封装的区别
  10. 【PHP练习】每日词汇,随机产生10个单词,方便备考随时背诵(php+html+css)
  11. KumiaoQQ机器人框架源码
  12. 撩妹情话套路大全 2021高级情话套路好甜齁
  13. Python中的if __name__ == '__main__'是什么意思呢
  14. IDEA 使用SequenceDiagram插件绘制时序图
  15. 移动端网页的基础制作
  16. 待定系数法求二阶常系数非齐次线性方程特解
  17. 解析光纤跳线的5大知识点,让安装使用更顺畅
  18. Spring Boot 实现接口的各种参数校验
  19. python2.7安装手把手教程_手把手windows64位配置安装python2.7
  20. ApiPost下载、安装

热门文章

  1. 常用#免费%代理IP库整理*收藏——实时@更新(大概)
  2. 类模板和模板类的关系
  3. 付费应用程序协议下载 苹果_苹果商店 付费app协议填写 apple苹果IOS内购申请教程协议、税务和银行业务配置...
  4. word写文章 格式总是对不齐 一定要看 解决99%问题
  5. excel常用功能记录(不断更新)
  6. 安规认证的测试项目(工程师必须知道的知识)
  7. 中兴b860刷机运行Linux,整理 B860A 刷机,安装第三方,升降固件,进recovery
  8. lingo的目标规划
  9. google bert deeping watch
  10. 服务器内存条故障显示器,内存故障与分析