繁体   English   中英

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

[英]Issue with output of java program involving string

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.    

您的str3变量采用以index2 + 5开头的子字符串,其中index2是输入字符串中最后一个空格的索引:

int index2 = name.lastIndexOf(" ");

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM