涉及字符串的java程序输出问题
我很难弄清楚这个程序的输出是什么,我想我知道,但我不确定 我这样做了,我喜欢JavaWorld,0对应于j,15对应于D,1是之间的空格 对于涉及字符串的java程序输出问题,java,Java,我很难弄清楚这个程序的输出是什么,我想我知道,但我不确定 我这样做了,我喜欢JavaWorld,0对应于j,15对应于D,1是之间的空格 对于str1I获取I 对于str2我得到了Love 但是对于str3,我得到了avaWorld 但是str3对我来说似乎是错误的,因为它会打印出来 class Blue_ManTest{ public static void main(String[] args){ String name = "I LOVE JAVAWORLD";
str1
I获取I
对于str2
我得到了Love
但是对于str3,我得到了avaWorld
但是str3对我来说似乎是错误的,因为它会打印出来
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 + ".");
}
}
str3
变量采用的子字符串从index2+5
开始,其中index2
是输入字符串中最后一个空格的索引:
avaWorld, I Love.
也就是说,
index2
是6。当然,6+5是11。为什么不直接运行它呢?我运行了它,得到了WORLD,我喜欢。
预期的输出是什么?字符串3让我困惑,因为它启动了索引2,它是L加5,它是7,给你Jand,索引2不是我喜欢JAVAWORLD中的L?是的,我想让我困惑的是index1=name.indexOf(“”); 引号的意思是空白,因为它们里面没有任何内容。引号里面没有任何内容,它们只有一个空格字符。
int index2 = name.lastIndexOf(" ");