2017-04-11 46 views
-2

嗨,我是編程新手,已爲我正在參加的課程分配了「最小硬幣程序」。我已經完成了它的主要代碼,它運行良好。但部分參數是,如果用戶輸入一個零,程序將退出,否則程序將繼續循環。我嘗試查找答案,但目前爲止沒有任何工作。如何通過提示退出程序,我如何運行循環

這是我的,但我似乎無法掌握循環。這是我們的第一個非流程圖任務。此外,如果你有任何改善我已經有的建議,也會受到讚賞(這位教授是一個非常苛刻的分級)。

如何讓程序通過輸入零的用戶退出,以及如何保持編程循環直到用戶輸入零。截至目前,該方案只運行一次,當我進入零它列出

package mincoins; 

import java.util.Scanner; 

public class MinCoins 
{ 

public static void main(String[] args) 
{ //start code 

    //initialization 
    Scanner input = new Scanner(System.in); //create input class to get change data 
    int amount, quartercount = 0, dimecount = 0, nickelcount = 0, penniecount = 0; 
    amount = 1; 


    while (amount != 0) 
    { 

     System.out.println("Please Enter amount of change (1-99) or ZERO to EXIT"); 
     System.out.println(""); 

     amount = input.nextInt(); 

     { 

      while (amount > 25) 
      { 
       amount = amount - 25; 
       quartercount++; 
      } 

      while (amount > 10) 
      { 
       amount = amount - 10; 
       dimecount++; 
      } 

      while (amount > 5) 

      { 
       amount = amount - 5; 
       nickelcount++; 
      } 
      System.out.println(""); 

      System.out.println("Quarters: " + quartercount); 

      System.out.println("Dimes: " + dimecount); 

      System.out.println("Nickles: " + nickelcount); 

      System.out.println("Pennies: " + amount); 

      System.out.println(""); 

     } 
    } 


}//main 

}//class 
+2

好了,因爲這是你第一次發佈提問,首先我會問你可以定義要回答一個問題嗎?你面臨的問題是什麼?接下來,你還可以在文檔中閱讀。 「我怎麼問一個好問題?」 - > https://stackoverflow.com/help/how-to-ask –

+0

嗨,我添加了更多的信息,我希望這更容易理解。我想知道如何在用戶輸入提示後讓程序退出,以及如果用戶未輸入退出提示時如何保持程序循環。 –

+0

'if(amount == 0)return;' – Bohemian

回答

0

你的程序(通常)後1個循環,因爲你的代碼減少amount因爲它的進展結束最小的變化量,如果數量所需的便士爲零,循環結束,因爲amount減少到零。

試試這個:

while (true) { 
    // print and read amount 
    if (amount == 0) 
     break; 
    // rest of code 
}