2014-06-13 130 views
0

在java中,如果我想在這個順序的一串打印出的字符:打印字符(第;然後第一和第二;然後第一,第二和第三)

String str = "abcdefg"; 
System.out.println("a"); 
System.out.println("ab"); 
System.out.println("abc"); 
System.out.println("abcd"); 
System.out.println("abcde"); 
System.out.println("abcdef"); 
System.out.println("abcdefg"); 

哪算法可以用來做到這一點?

+1

在哪裏的問題?你有嘗試過什麼嗎? – Braj

+0

一個簡單的循環就足夠了String#subString() – TheLostMind

+0

我還沒有嘗試過,但我很難考慮如何實現它。 – user2360087

回答

2

有幾種方式,一種是使用例如StringBuilder ......

String str = "abcdefg"; 
StringBuilder sb = new StringBuilder(str.length()); 
for (char c : str.toCharArray()) { 
    sb.append(c); 
    System.out.println(sb); 
} 

這只是需要反過來每個字符,並追加到StringBuilder並輸出結果......作爲例如;)

+0

「作爲一個例子」:P – TheLostMind

+0

@TheLostMind嗯,它只是一種可能的方法之一;) – MadProgrammer

+0

謝謝!我想出瞭如何用列表而不是字符串來完成它。 – user2360087

3

這裏是你需要的代碼:

String str = "abcdefg"; 
for (int i =1 ;i<str.length();i++){ 
    System.out.println(str.substring(0,i)); 
} 


For all List elements: 

    List<String> list = new ArrayList<String>(); 
    list.add("abcdefg"); 
    list.add("hijklm"); 
    for (String str : list) { 
     for (int i =1 ;i<str.length();i++){ 
     System.out.println(str.substring(0,i)); 
     } 
    } 
+0

嗯,有趣的方法+1 – MadProgrammer

+0

@jens - 現在+1 :) – TheLostMind

+0

有沒有類似於arraylists的子字符串? – user2360087

相關問題