java数组异常怎么写

编写一段代码,定义一个长度为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