如何挑选一个字符串并将其打印出来?

问题描述:

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); 
    } 
} 

我有一个字符串str包含“苹果香蕉橙”。我想系统分开打印这些水果,因为它们都是存储在单个变量中的问题的选择。我怎样才能做到这一点?上面的代码是我失败的尝试,因为子字符串不更新str变量,而是创建一个新的字符串。我不能使用循环,我不能使它变成动态的,因此不能使用它。如何挑选一个字符串并将其打印出来?

+0

检查我的IP地址,并找出其是否真正重复和垃圾邮件的问题。我怀疑这个问题的答案是否适合我的情况。 –

+0

您有一个包含单词“A B O”的字符串,并询问如何分别打印它们。所以你想通过“”分割该字符串。这就是这一切。重复一个问题与谁提出问题没有任何关系。但问题是什么。你最好花一些时间在[帮助]了解事情在这里工作。除此之外:你希望我们花时间帮助你;所以您请花1分钟时间来正确地格式化/缩进您的输入给我们;而不是在这里放下这样的混乱。 – GhostCat

+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是否实际上包含空格并退出。

如果我理解正确的话,你应该尝试使用StringTokenizer

StringTokenizer st=new StringTokenizer("Apple Banana Orange"); 

     while (st.hasMoreTokens()){ 
      System.out.println(st.nextToken()); 
     }