数组越界代码java 数组越界什么时候会报错
用JAVA编写程序时出现数组越界情况,求大神帮忙瞅瞅呀~
你这个ArrayIndexOutOfBoundsException应该是来自String str = args[0];这句,你定义的对象应该没有越界。
创新互联公司专注于唐县网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供唐县营销型网站建设,唐县网站制作、唐县网页设计、唐县网站官网定制、微信平台小程序开发服务,打造唐县网络公司原创品牌,更为您提供唐县网站排名全网营销落地服务。
这块出错了,你用String[] sNumbera=lignea.split( )这句话去分割你读的第一行,这个时候如果你输入了一行比如 aaa 这个时候 str0就一个元素,所以你下面在用循环赋值的时候出错了。
看来这是一个冒泡排序问题,你出现越界的地方有两个,在两个for循环上面。分别为第二个和第三个,下面为我改正过来的。
你运行完循环后。i ,j 又加了肯定越界啊。比如i=3的时候 ,j循环完就是5了,i循环完就是 4了。你说越界不?你自己在想想为什么错了。还是不知道再说。而且你就算不越界你返回的也是最后一个数组值。
你把for(int j = 1; j = 2; j++)改成for(int j = 0; j 2; j++)就好了;比如二维数组x[2][5],它的下标是从x[0][0]到x[1][4],因为数组的下标都是从0开始的,最大的下标为数组的长度减去1。
java数组越界问题?
定义静态数组的话,数组是有固定的长度的,如 int arr[]=new int[8];System.out.println(arr[8]);定义一个长度为8的静态数组,那么下标是从0-7,这时如果输出第8个,就是越界了。
8 这个索引超过了限制。比如你的数据定义了7位,int a[]=new int[8],a[8],所以8这个值是越界的,a[0]到a[7]是正常范围内的,只是在运行a[8]时发生了越界现象。
你运行完循环后。i ,j 又加了肯定越界啊。比如i=3的时候 ,j循环完就是5了,i循环完就是 4了。你说越界不?你自己在想想为什么错了。还是不知道再说。而且你就算不越界你返回的也是最后一个数组值。
你的循环条件错了。因为数组的索引下标是从0开始的。如果定义了一个长度为3的数组int[] a=new int[3];它里面的数据存放在a[0],a[1],a[2] 中 如果在有一个a[3] 就错了。
java数组越界问题
1、你运行完循环后。i ,j 又加了肯定越界啊。比如i=3的时候 ,j循环完就是5了,i循环完就是 4了。你说越界不?你自己在想想为什么错了。还是不知道再说。而且你就算不越界你返回的也是最后一个数组值。
2、8 这个索引超过了限制。比如你的数据定义了7位,int a[]=new int[8],a[8],所以8这个值是越界的,a[0]到a[7]是正常范围内的,只是在运行a[8]时发生了越界现象。
3、2,则定义的qq[6][3],qq[5][2]数组并没有过界。可能是你的大括号使用不当,造成的。图中,程序的排放不太好,括号有点问题不方便查看。但是不是出在你第二个标记的地方出错,有可能是第二标记处的前一行。
4、因为数组的索引下标是从0开始的。如果定义了一个长度为3的数组int[] a=new int[3];它里面的数据存放在a[0],a[1],a[2] 中 如果在有一个a[3] 就错了。
5、你这个ArrayIndexOutOfBoundsException应该是来自String str = args[0];这句,你定义的对象应该没有越界。
本文标题:数组越界代码java 数组越界什么时候会报错
链接URL:http://myzitong.com/article/dejihgi.html