0
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.    
4

1 回答 1

1

您的str3变量正在使用一个子字符串,该子字符串从输入字符串index2 + 5最后一个空格index2的索引开始:

int index2 = name.lastIndexOf(" ");

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

于 2013-09-14T22:10:24.240 回答