我試圖採取少於1.00美元但大於零的變化量並顯示進行該更改所需的四分之一,十美分,五分硬幣和便士的數量。輸出必須以類似於英語的描述性方式呈現,具有以下格式規則:顯示更改java
如果數量爲零,則應使用單詞「否」。 如果金額爲1,則單位必須是單數。 如果金額不是1,則單位必須是複數。
此外,當輸入0或1以下的任何內容時,程序應該捕獲用戶的錯誤,並進入數據驗證循環以顯示提示並要求用戶重新輸入金額。此循環將繼續,直到用戶輸入的金額低於$ 1.00,但大於零。
當我運行我的代碼時,我不斷得到。
感謝您的時間!並非常感謝任何幫助!
我迄今爲止代碼:
import java.util.Scanner;
public class CoinChange
{
public static void main(String[] args)
{
double amt;
int cents, quarter, dime, nickle, penny;
Scanner keyboard = new Scanner(System.in);
System.out.print("Change in Coins\n" +
"----------------\n\n");
System.out.println("Enter the amount less than $1.00, but\n" +
"more than zero.");
System.out.print("\nEnter amount: ");
amt = keyboard.nextInt();
// ----------------------------------------------
cents = (int)(amt*100 + .1);
quarter = cents/25;
cents %= 25;
dime = cents/10;
cents %= 10;
nickle = cents/5;
cents %= 5;
penny = cents;
// -----------------------------------------
while(amt > 0 && amt <= 1)
{
// -----------------------------------------
if(quarter == 0)
{
System.out.print("no ");
}
else
System.out.print(quarter);
}
if(quarter == 1)
{
System.out.print("quarter");
}
else
{
System.out.print("quarters");
}
}
}
你希望這行會做什麼:'while(amt> 0 && amt <= 1)'? – ajb
下一個問題:你想要'amt'是什麼樣的值?你是怎麼聲明'amt'的? – ajb
的變化量小於1.00美元,但大於零@ajb – Smith