2013-10-21 102 views
-1

作爲初學者,我給了一個循環賦值,其中一個循環是輸出字母表,首先從az輸出,然後是bz,然後是cz,等等,每個都在個別的線上。通過減少字符串每個行減少一個字符來減少嵌套for循環中的字母

我已經

for(char c = 'a'; c <= 'z'; c++) 

印有英文字母及隨後的打印語句產生整個字母表,但我很茫然,如何巧妙地實現另一個for循環,以減少原料碳和印刷新的字符串在單獨的行上。

+0

使用第二個循環。 –

回答

0
for(char j = 0; j < 26; j++) { 
    for(char c = (char)('a' + j); c <= 'z'; c++) { 
     System.out.print(c); 
    } 
    System.out.println(""); 
} 
+0

謝謝 - 我早些時候嘗試了類似的聲明,但顯然忽略了一些事情。 – sweatypi

0

試試這個,

char input = 'a'; 
    while (input != 'z') // this will continue upto z == z 
    { 
     for (char c = input; c <= 'z'; c++) // get the input value and iterate upto z 
     { 
      System.out.print(c + " "); // print the values 
     } 
     System.out.println(""); // for next line 
     input++; // this for next char like b,c,d....z 
    } 
0

這裏是示例代碼應該爲你的目的的工作:

for(char outer='a'; outer <= 'z'; outer ++) 
    { 
    for(char inner = outer; inner <= 'z'; inner++) 
     { 
     System.out.print(""+inner); //print the character 
     } 
    System.out.println(""); // next line 
    } 

基本上,您可以通過在第一個for循環字母表有周期並將外部for循環的當前值作爲內部for循環的初始值。 只是一個說明:儘量習慣給你的變量名稱一些意義 - 它確實有幫助!

0

您可以在結束時添加一條if語句,當它的總迭代次數小於3時將它返回到'b'。然後再次,這個問題看起來像一個賦值。