public void display()
{
super.display();
String str = super.getChoices();
System.out.println(str);
while(!str.equals(""))
{
int a = str.indexOf(" ");
System.out.println(str.substring(0, a));
String sentence = str.replaceFirst(str, str.substring(a));
System.out.println(sentence);
}
}
我有一个包含" Apple Banana Orange"的字符串str
。我想系统地分别打印这些水果,因为它们都是存储在单个变量中的问题的选择。我怎样才能做到这一点?上面的代码是我失败的尝试,因为子字符串不会更新str
变量而是创建一个新字符串。我无法使用循环,但我无法使其成为动态循环,因此无法使用它。
答案 0 :(得分:0)
您还需要更改str
: -
while(!str.equals("") ) {
int a = str.indexOf(" ");
System.out.println(str.substring(0, a));
String sentence = str.replaceFirst(str, str.substring(a));
System.out.println(sentence);
str = str.substring(a); // Remove the bit of str that we've processed.
}
(未经测试,但你明白了)。您显然还需要检查str
是否实际包含空格并退出。
答案 1 :(得分:0)
如果我理解正确,您应该尝试使用StringTokenizer
StringTokenizer st=new StringTokenizer("Apple Banana Orange");
while (st.hasMoreTokens()){
System.out.println(st.nextToken());
}