问题描述:
原因分析:
数组下标溢出
解决方案:
将下标改为数组定义的个数之内
总代码:
package LinearTable.Queue; public class QueueTest { public static void main(String[] args){ //测试队列 System.out.println("测试队列:"); Queue queue = new Queue(); queue.in(1); queue.in(2); queue.in(3); System.out.println(queue.out()); System.out.println(queue.out()); queue.in(4); System.out.println(queue.out()); System.out.println(queue.out()); queue.in(5); System.out.println(queue.out()); } } //使用数组定义一个队列 class Queue { int[] a = new int[5]; int i = 0; //数组下标 //入队 public void in(int m){ a[i++] = m; } //出队,先进先出 public int out(){ int index = 0; int temp = a[0]; for(int j=0;j<i;j++){ a[j] = a[j+1]; index++; } i = index; return temp; } }
这里会下标越界
修改后:
Exception in thread “main“ java.lang.ArrayIndexOutOfBoundsException:Index 5 out of bounds for length
于 2022-04-05 23:21:56 首次发布