涉及字符串的java程序输出问题

时间:2013-09-14 22:05:37

标签: java

class Blue_ManTest{

    public static void main(String[] args){
        String name = "I LOVE JAVAWORLD";
        int index1 = name.indexOf(" ");
        int index2 = name.lastIndexOf(" ");
        String str1 = name.substring(0, index1);
        String str2 = name.substring(index1 + 1, index1+ 5);
        String str3 = name.substring(index2 + 5);
        System.out.println(str3 + ", " + str1 + " " + str2 + ".");
    }
}   

我无法弄清楚这个程序的输出是什么,我想我知道但是我不确定。

我这样做我喜欢JavaWorld,其中0对应于j,15对应D,其中1表示空间。

str1我得到I

str2我得到Love

但对于str3,我得到avaWorld

str3对我来说似乎不对,因为它会打印出来。

avaWorld, I  Love.    

1 个答案:

答案 0 :(得分:1)

您的str3变量正在采用从index2 + 5开始的子字符串,其中index2是输入字符串中 last 空间的索引:

int index2 = name.lastIndexOf(" ");

也就是说,index2是6.当然,6 + 5是11。