首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

有一个小疑点,大家帮忙看一下,关于数组

2012-01-20 
有一个小问题,大家帮忙看一下,关于数组importjava.io.*publicclassMat{publicstaticvoidmain(Stringargs[

有一个小问题,大家帮忙看一下,关于数组
import   java.io.*;
public   class   Mat
{
public   static   void   main(String   args[])
{
int   a[]={2,4,6,8,10,12,14,16,18};
int   k=0;
int   i;
for(i=0;i <a.length;i++)
{
if(a[i]> a[i+1])
k=a[i];
else
k=a[i+1];
}
System.out.println( "最大值为: "+k);
}
}

运行时说if(a[i]> a[i+1])有问题 导致数组下标越界异常
大家看看该怎么该
谢谢帮助 滴水之恩 涌泉相报

[解决办法]
当i=a.length-1的时候,i+1=a.length 所以a[i+1]越界嘛
[解决办法]
这么晚了还在研究这个啊?
if i is length-1, i+1 should be length, which is an invalid index.

[解决办法]
if a[i+1] <a[i]
[解决办法]
for(i=0;i <=a.length-1;i++)
循环该一下就行了

[解决办法]
最后一次i=8时,a【i+1】即a【9】是不存在的
[解决办法]
有所收获
[解决办法]
学习中
[解决办法]
程序写得有点问题

import java.io.*;
public class Mat
{
public static void main(String args[])
{
int n=7;
int[] a=new int[n];
for(int i=0;i <n;i++)
{
a[i]=2*n;
}

int k=0;
for(int i=0;i <a.length;i++)
{
if(a[i]> k) //注意要跟k比,否则是比较相邻值,而不是max,你调换下数组中元素序看看
k=a[i];

System.out.println( "最大值为: "+k);
}
}
[解决办法]
呵呵

i = (a.length - 1)的时候满足条件

a[i+1] 不就越界了么
[解决办法]
哦,原来是这样

热点排行
Bad Request.