2017-04-03 86 views
-4
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

如果按空格分割字符串,它將返回一個數組,其中每個水果將是該數組的一個項目。你可以循環訪問該數組並使用它 –

回答

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是否實際上包含空格並退出。

0

如果我理解正確的話,你應該嘗試使用StringTokenizer

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

     while (st.hasMoreTokens()){ 
      System.out.println(st.nextToken()); 
     } 
相關問題