2016-02-21 64 views
0

我試圖讓我的代碼重複,我試着輸入「而」但它說:如何讓我的程序循環?

表達的非法啓動。

任何幫助將不勝感激哪裏可以進入這個。

import java.util.Scanner; 

public class GasMileage 
{ 
    public static void main(String[ ] args) 
    { 
     Scanner keyboard = new Scanner(System.in); 
     System.out.print("How many miles were driven?"); 
     int miles; 
     miles = keyboard.nextInt(); 

     System.out.print("How many gallons were used?"); 
     int gallons; 
     gallons = keyboard.nextInt(); 

     int mpg; 
     mpg = miles/gallons; 

     System.out.println(" The Miles-Per-Gallon used in this trip are " + mpg); 
    } 
} 
+3

歡迎來到StackOverflow!我編輯了您的問題以添加最重要的標記:Java。我還縮進了您提供的代碼以提高可讀性。請使用'while'添加代碼行,以便我們可以看到您正在嘗試執行的操作。 – trincot

回答

0

你可能沒有使用正確的語法與while循環,它應該是這個樣子:

//in your main method 
while(true){ 
    //here you ask the user questions 
} 
//end of your program 

所以,當你填補了這一程序中的你:

public class GasMileage{ 
    public static void main(String[ ] args){ 

     Scanner keyboard = new Scanner(System.in); 

     while(true){ 
     System.out.print("How many miles were driven?"); 
     int miles; 
     miles = keyboard.nextInt(); 

     System.out.print("How many gallons were used?"); 
     int gallons; 
     gallons = keyboard.nextInt(); 

     int mpg; 
     mpg = miles/gallons; 

     System.out.println(" The Miles-Per-Gallon used in this trip are " + mpg); 
    } 
} 

這將循環你的程序,直到你強制它停止,讓程序停止,否則你將需要改變while循環中的'true'到由你的代碼中的東西觸發的東西

的你可能會試圖做
+0

這非常有幫助,非常感謝。 – john

2

例(詳情如下)

import java.util.Scanner; 

public class GasMileage 
{ 
    public static void main(String[ ] args) 
    { 
     Scanner keyboard = new Scanner(System.in); 
     boolean stillInLoop = true; 

     while (stillInLoop) 
     { 
      System.out.print("How many miles were driven? "); 
      int miles; 
      miles = keyboard.nextInt(); 

      System.out.print("How many gallons were used? "); 
      int gallons; 
      gallons = keyboard.nextInt(); 

      int mpg; 
      mpg = miles/gallons; 

      System.out.println(" The Miles-Per-Gallon used in this trip are " + mpg); 

      stillInLoop = false; 
     } 
    } 
} 

一些提示:

1)如果你使用了一段時間的條件,你正在運行的循環,直到事情不再仍然是真的,在這種情況下,java會自動退出循環。這些條件是真或假(布爾)。我注意到你沒有在while循環中指定你想要的。如果您能夠向我們提供更多關於您想要做什麼的信息,這將非常有幫助。

2) 一定要包括在打印報表或您的輸出在你的問題和引號之間的空間將得到揉成這樣的:

錯誤做法:

System.out.print("How many miles were driven?"); 

輸出:使用了多少加侖?

良好做法:

System.out.print("How many miles were driven? "); 

輸出:採用多少加侖?

注意間距。

3) 我給你的代碼可能看起來很模糊,但這是因爲我沒有特別的條件。找出代碼中哪些部分需要繼續運行,直到滿足特定條件。我在我的例子中調用了布爾變量「stillInLoop」,但通常這對任何讀你的代碼都是無益的,你可能會更好地命名它更有幫助。

希望這有助於一點。祝你好運!

+0

謝謝,我確實注意到了不正確的間距,並糾正了此前的錯誤。你的回答非常有幫助,再次感謝。 – john