有關Java 錯誤的問題

大家好,小弟在美國學寫Java,但不知道為甚麼我總是顯示不了有多少quarters,dimes,nickels,pennies.


題目如下:
Write an application that prompts for and reads a double value representing a monetary amount. Then determine the fewest number of each bill and coin needed to represent that amount, starting with the highest (assume that a ten-dollar bill is the maximum size needed). For example, if the value entered is 47.63 (forty-seven dollars and sixty-three cents), then the program should print the equivalent amount as:
$ 47.63
4 ten dollar bills
1 five dollar bills
2 one dollar bills
2 quarters
1 dime
0 nickel
3 pennies

PS:quarters=0.25 ;1 dime =0.05;nickel =0.1; pennies=0.01


import java.util.Scanner;

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

double amount;
int one, five, ten;
int penny, nickel, dime, quarter;

Scanner kb = new Scanner(System.in);

System.out.print("What is the amount? ");
amount = kb.nextDouble();

int a=(int)amount;
ten = a/10;
amount = amount;

five =(int) amount/5;
amount = amount%5;

one = (int)amount/1;
amount = amount%1;

quarter = amount/.25;
amount = amount%.25;

dime = a/.10;
amount = amount%.10;

nickel = a/.05;
amount = amount%.05;

penny = a/.01;
amount = amount%.01;

System.out.println(ten + " tens.\n\n");
System.out.println(five + " fives.\n\n");
System.out.println(one + " ones.\n\n");
System.out.println(quarter + " quarters.\n\n");
System.out.println(dime + " dimes.\n\n");
System.out.println(nickel + " nickels.\n\n");
System.out.println(penny + " pennies.\n\n");
}
}
2011-02-16 12:14 發佈
文章關鍵字 Java 問題
如果小弟用上 double penny, nickel, dime, quarter;就會有



> run Money
What is the amount? [43.76]
4 tens.


0 fives.


3 ones.


3.039999999999992 quarters.


430.0 dimes.


860.0 nickels.


4300.0 pennies.
自己找出問題了....

import java.util.Scanner;

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

double amount;
int one, five, ten, q, w;
int e,r;
double penny, nickel, dime, quarter;

Scanner kb = new Scanner(System.in);

System.out.print("What is the amount? ");
amount = kb.nextDouble();

int a=(int)amount;
ten = a/10;
amount = amount;

five =(int) amount/5;
amount = amount%5;

one = (int)amount/1;
amount = amount%1;

quarter = amount/.25;
amount = amount%.25;
q=(int)quarter;

dime = amount/.10;
amount = amount%.10;
w=(int)dime;

nickel = amount/.05;
amount = amount%.05;
e=(int) nickel;

penny = amount/.01;
amount = amount%.01;
r=(int) penny;

System.out.println(ten + " tens.\n\n");
System.out.println(five + " fives.\n\n");
System.out.println(one + " ones.\n\n");
System.out.println(q + " quarters.\n\n");
System.out.println(w + " dimes.\n\n");
System.out.println(e + " nickels.\n\n");
System.out.println(r + " pennies.\n\n");
}
}
金錢計算改用BigDecimal才不會出問題
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?