java 逆序输出问题

[复制链接]
查看11 | 回复1 | 2011-5-21 11:48:55 | 显示全部楼层 |阅读模式
packageP158;
importjava.util.Arrays;
importjava.util.Scanner;
publicclass字符逆序输出
{
        publicstaticvoidmain(String[]args)
        {
                String[]num=newString[]{\"a\",\"c\",\"u\",\"b\",\"e\",\"p\",\"f\",\"z\"};
                Scannerinput=newScanner(System.in);
                System.out.print(\"字母原顺序为:\");
                for(inti=0;i8;i)
                {
                        System.out.print(num\"\");
                }
                System.out.println();       
                Arrays.sort(num);
                System.out.print(\"升序排序后为:\");
                for(inti=0;inum.length;i)
                {
                        System.out.print(num\"\");
                }
                System.out.println();
                System.out.print(\"逆序输出为\");
                for(inti=num.length-1;i0;i--)
                {
                        System.out.print(num\"\");
                }
        }
}

最后一个逆序循环,for(inti=num.length-1;i0;i--)
在“i=num.length-1”为什么里面加了一个-1就可以运行了
不然总是说我
Exceptioninthread\"main\"java.lang.ArrayIndexOutOfBoundsException:8
        atP158.字符逆序输出.main(字符逆序输出.java:26)
我用的是Myeclipse

java入门,请高手指点
回复

使用道具 举报

千问 | 2011-5-21 11:48:55 | 显示全部楼层
因为length指的是,这个数组申明的长度。但是,我们的元素索引是从0开始的,下标为0的时候指的就是数组中的第一个元素。所以,你要length-1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行