public class Example7
{
  public static void main(String args[])
   {
     char a[]={'a','b','c','D','E','F'};
     for(int i=0;i<=a.length;i++)
      {
        if(Character.isLowerCase(a[i]))
          {a[i]=Character.toUpperCase(a[i]);}
        else //if(Character.isUpperCase(a[i]))
          {a[i]=Character.toLowerCase(a[i]);}
      }
     for(int i=0;i<=a.length;i++)
        {System.out.println(a[i]);}
   }
}
这段程序我在JDK1.6中编译通过,但是运行不了
提示:Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException:6
at Example7.main(Example7.java:10)
请帮帮忙看看这个是怎么回事,是不是版本的问题,因为我看的书是JDK1.5的教程,
这段程序就是书里的例子.

解决方案 »

  1.   

    for(int i=0;i<=a.length;i++),应该是i<a.length
      

  2.   

    这样:
    public static void main(String args[]) {
    char a[] = { 'a', 'b', 'c', 'D', 'E', 'F' };
    for (int i = 0; i < a.length; i++) {
    if (Character.isLowerCase(a[i])) {
    a[i] = Character.toUpperCase(a[i]);
    } else // if(Character.isUpperCase(a[i]))
    {
    a[i] = Character.toLowerCase(a[i]);
    }
    }
    for (int i = 0; i < a.length; i++) {
    System.out.println(a[i]);
    } }