2014-10-20 42 views
-1

我正在練習循環,我的一項任務是打印字母表。我設法生產的產品:循環字母創建三角形輸出

for(char alpha = 'A'; c <= 'Z'; alpha++) { 
    System.out.print(alpha); 
} 

這會打印字母表,但不會按照我需要的方式打印。 問題:如何將每個序列的信件結束?例如:

This is my desired output 
a 
ab 
abc 
abcd 
abcde 
abcdef 
abcdefg 
abcdefgh 
abcdefghi 
abcdefghij 
abcdefghijk 
abcdefghijkl 
abcdefghijklm 
abcdefghijklmn 
abcdefghijklmno 
abcdefghijklmnop 
abcdefghijklmnopq 
abcdefghijklmnopqr 
+0

你不能爲此使用'for-each'。 – afzalex 2014-10-20 17:55:32

回答

1

試試這個代碼

for (int i = 1; i <= 26; i++) { 
    for (int j = 0; j < i; j++) { 
     System.out.print((char)('a'+j)); 
    } 
    System.out.print("\n"); 
} 
0

有很多不同的解決方案,但我會建議你從使用StringBuilder類開始。你可以嘗試這樣的事情:

StringBuilder sb = new StringBuilder(); 
for(char alpha = 'A'; alpha <= 'Z'; alpha++) { 
    sb.append(alpha) 
    System.out.println(sb.toString()); 
} 
0

這裏有一種方法:

for(int i = 0; i < 27; i++){ 
     for(int a = 0; a < i; a++){ 
     System.out.print((char) (97+a)); 
     } 
     System.out.println(); 
    } 

當輸出爲:

a 
ab 
abc 
abcd 
abcde 
abcdef 
abcdefg 
abcdefgh 
abcdefghi 
abcdefghij 
abcdefghijk 
abcdefghijkl 
abcdefghijklm 
abcdefghijklmn 
abcdefghijklmno 
abcdefghijklmnop 
abcdefghijklmnopq 
abcdefghijklmnopqr 
abcdefghijklmnopqrs 
abcdefghijklmnopqrst 
abcdefghijklmnopqrstu 
abcdefghijklmnopqrstuv 
abcdefghijklmnopqrstuvw 
abcdefghijklmnopqrstuvwx 
abcdefghijklmnopqrstuvwxy 
abcdefghijklmnopqrstuvwxyz 
0

另一個簡單的方法:

public class CharacterPattern1 
{ 
public static void main(String args[]) 
    { 
    for(char c='A';c<='Z';c++) 
    { 
     for(char d='A';d<=c;d++) 
     { 
     System.out.print(d+" "); 
     } 
     System.out.println(); 
    } 
    } 
}