编写一段代码,定义一个长度为10的整形数组,故意去访问下标20的数组元素,然后再用try.,,,catch处理
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] a = new int[10];
// 控制台输入数组值
for (int i = 0; i < a.length; i++) {
System.out.println("请输入第" + (i + 1) + "个数字:");
int num = input.nextInt();
a[i] = num;
}
try {
System.out.println(a[20]);
} catch(Exception e) {
System.out.println(e.getMessage());
}
}
}
Java数组异常,也叫做运行时异常,运行时异常一般不需要try....catch,是由于系统存在bug引起的,比如数组越界异常。
public class Test{
public static void main(String []args){
int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
try {
//a[10]元素不存在
system.out.println("a[10]="+a[10]);
}
catch (Exception e) {
System.out.println("出错了: 数组越界。");
}
}
}
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] a = new int[10];
// 控制台输入数组值
for (int i = 0; i < a.length; i++) {
System.out.println("请输入第" + (i + 1) + "个数字:");
int num = input.nextInt();
a[i] = num;
}
try {
System.out.println(a[20]);
} catch(Exception e) {
System.out.println(e.getMessage());
}
}
}
第一步我们首先需要了解什么是异常,异常是程序中的一些错误产生的,主要包括输入了非法数据,打开的文件不存在,通信中断,内存溢出等几种
第二步我们可以通过try和cath关键字来捕获异常,其中catch可以多次使用,进行多重捕获异常
public class HelloWorld{
public static void main(String []args){
try {
int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
System.out.println("HelloWorld: trying to access a[20] while a is array with 10 elements only.");
a[20] = 20;
}
catch (Exception e) {
System.out.println("Caught exception: " + e.getClass().toString()
+ ", Message: " + e.getMessage());
e.printStackTrace();
}
}
}
// Output
HelloWorld: trying to access a[20] while a is array with 10 elements only.
Caught exception: class java.lang.ArrayIndexOutOfBoundsException, Message: 20
java.lang.ArrayIndexOutOfBoundsException: 20
at HelloWorld.main(HelloWorld.java:6)
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632