2017-08-06 70 views
-3

我是新來的Java和編程本身,請原諒我,如果我犯了嚴重的錯誤。我只是想每12英寸打印一行。即在12,24,36,48英寸等等之後,直到144英寸打印一條線。JAVA - 顯示英制轉換爲米。每12英寸輸出一個空行。 (一米等於大約39.37英寸)

我做了什麼:

if(i==12) 
    System.out.println(); 

但空行不會出現,我的代碼只是不斷運行下去。

public class Apple { 
    public static void main(String[] args){ 
    double meter; 
    int inch = 1; 

    meter = inch/39.37; 

    for(int i = 0;i <= 12 ; i++){ 
     for(inch =0;inch<=144;inch++){ 
     meter = inch/39.37; 
     System.out.println(inch + " inch = " + meter + " meters"); 
     } 
     if(i==12) 
      System.out.println(); 
      i = 0; /*To reinitialize counter so that it prints a line after each 12 inches*/ 
+3

請粘貼您的完整(格式)的方法 – Matt

+0

爲什麼你在'if'之後分配'i = 0',這就是你有無限循環的原因 – jeanr

+0

你應該好好學習模數(或模數)運營商。它可以直接應用於這樣的問題。 – STLDeveloper

回答

1

你的外環保持循環,只要i小於或等於12。但一旦達到12,您將其設置爲零。所以它總是小於或等於12。這就是它永遠循環的原因。

然後你的內環一直從0到144英寸,沒有檢查過i,因此在你到達第144英寸之前不打印空行。

我看到你的代碼的方式,應該在144 * 12 = 1728英寸之後打印一個空行,也許你沒有注意到它?

因此,長話短說,您需要將您的外部for(i循環與內部for(inch循環合併爲一個循環。

我不會再說了,以免爲你做功課。

+0

其實,正如我所說的,我對編程概念並不陌生。在從newboston.com學習後,我開始自行研究。但我真的很感謝你的幫助。謝謝你,我會試試看。 – Adjmo3

相關問題