[英]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.