如何获得Java中的硬币数量?
我有自己的代码,用户在其中输入货币数量,输出显示二十、十、五、一、四分之一、十分之一、五分之一、五分镍币和一分镍币的数量,但是我希望用户输入一定数量的硬币(例如36),并仅获取构成36美分的硬币的数量。这意味着我应该得到1个25美分,1个10美分和1便士。请有人帮我做这件事。非常感谢 注意:如何获得Java中的硬币数量?,java,Java,我有自己的代码,用户在其中输入货币数量,输出显示二十、十、五、一、四分之一、十分之一、五分之一、五分镍币和一分镍币的数量,但是我希望用户输入一定数量的硬币(例如36),并仅获取构成36美分的硬币的数量。这意味着我应该得到1个25美分,1个10美分和1便士。请有人帮我做这件事。非常感谢 注意: DecimalFormat类不是必需的 这是我的密码: import java.util.Scanner; import java.text.DecimalFormat; public class Comp
DecimalFormat类不是必需的 这是我的密码:
import java.util.Scanner;
import java.text.DecimalFormat;
public class Compu
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
DecimalFormat decimalFormat = new DecimalFormat("0.00");
System.out.println("Please Enter an amount of Money:");
double change = input.nextDouble();
int dollars = (int)change;
int twenties = dollars / 20;
int dollars1 = dollars % 20;
int tens = dollars1 / 10;
int dollars2 = dollars % 10;
int fives = dollars2 / 5;
int dollars3 = dollars % 5;
int ones = dollars3;
String moneyString = decimalFormat.format(change);
String changeString = Double.toString(change);
String[] parts = moneyString.split("\\.");
String part2 = parts[1];
double cents5 = Double.parseDouble(part2);
int cents = (int)cents5;
int quarters = cents / 25;
int cents1 = cents % 25;
int dimes = cents1 / 10;
int cents2 = cents % 10;
int nickels = cents2 / 5;
int cents3 = cents % 5;
int pennies = cents3;
System.out.println("Input entered by user: " + "$" + moneyString);
System.out.println(twenties + " Twenties");
System.out.println(tens + " Tens");
System.out.println(fives + " Fives");
System.out.println(ones + " Ones");
System.out.println(quarters + " Quarters");
System.out.println(dimes + " Dimes");
System.out.println(nickels + " Nickels");
System.out.println(pennies + " Pennies");
}
}
模运算符是您的朋友:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter amount in cents");
double cents = input.nextInt();
int numQuarters = cents / 25;
int numDimes = (cents % 25) / 10;
int numNickels = ((cents % 25) % 10) / 5;
int numPennies = ((cents % 25) % 10) % 5;
System.out.println(quarters + " Quarters");
System.out.println(dimes + " Dimes");
System.out.println(nickels + " Nickels");
System.out.println(pennies + " Pennies");
}
模运算符是您的朋友:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter amount in cents");
double cents = input.nextInt();
int numQuarters = cents / 25;
int numDimes = (cents % 25) / 10;
int numNickels = ((cents % 25) % 10) / 5;
int numPennies = ((cents % 25) % 10) % 5;
System.out.println(quarters + " Quarters");
System.out.println(dimes + " Dimes");
System.out.println(nickels + " Nickels");
System.out.println(pennies + " Pennies");
}
为此,完全删除程序中处理美元的部分,并将用户输入直接输入到“美分” 此外,本部分:
int cents = (int)cents5;
int quarters = cents / 25;
int cents1 = cents % 25;
int dimes = cents1 / 10;
int cents2 = cents % 10;
int nickels = cents2 / 5;
int cents3 = cents % 5;
int pennies = cents3;
将不准确(在少数情况下,并非全部),因为您没有更改“美分”的值。因此,如果您输入“36”,它将返回1个四分之一(25)、1个一角硬币(35)、1个镍币(40)和1便士(41)
要避免这种情况,请使用以下代码:
int cents = (int)cents5;
int quarters = cents / 25;
int cents1 = cents % 25;
int dimes = cents1 / 10;
int cents2 = cents1 % 10;
int nickels = cents2 / 5;
int cents3 = cents2 % 5;
int pennies = cents3;
为此,完全删除程序中处理美元的部分,并将用户输入直接输入到“美分” 此外,本部分:
int cents = (int)cents5;
int quarters = cents / 25;
int cents1 = cents % 25;
int dimes = cents1 / 10;
int cents2 = cents % 10;
int nickels = cents2 / 5;
int cents3 = cents % 5;
int pennies = cents3;
将不准确(在少数情况下,并非全部),因为您没有更改“美分”的值。因此,如果您输入“36”,它将返回1个四分之一(25)、1个一角硬币(35)、1个镍币(40)和1便士(41)
要避免这种情况,请使用以下代码:
int cents = (int)cents5;
int quarters = cents / 25;
int cents1 = cents % 25;
int dimes = cents1 / 10;
int cents2 = cents1 % 10;
int nickels = cents2 / 5;
int cents3 = cents2 % 5;
int pennies = cents3;
与在程序中输入
0.36
有什么不同?@PM77-1我不想输入0.36。我只想输入36和在你的程序中输入0.36有何不同?@PM77-1我不想输入0.36。我只想输入36,如果我还想要镍币的数量呢?谢谢你的帮助!如果我还想要尼克的号码呢?谢谢你的帮助!