我该怎么选择一个字符串并打印出来呢?

时间:2017-04-03 15:04:57

标签: java

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变量而是创建一个新字符串。我无法使用循环,但我无法使其成为动态循环,因此无法使用它。

2 个答案:

答案 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());
        }