![](/img/trans.png)
[英]My Array is only printing out last element from file, I want it to print out all
[英]How do i get my code to print out the change? I used modulus yet it's only printing out the remainder
public class Change {
public static void main(String[] args) {
System.out.print("Enter the amount due: ");//Variable = amount
Scanner keyboard = new Scanner(System.in);
int amount = keyboard.nextInt();
System.out.print("Enter the amount recieved from Customer: ");
Scanner keyboard2 = new Scanner(System.in);
int customer = keyboard2.nextInt();//variable = customer
double change = customer - amount;
System.out.println("You need to give to customer");
double remainingAmount = (double) (change * 100);
double numDollars = remainingAmount / 100;
remainingAmount = remainingAmount % 100;
double numQuarters = remainingAmount / 25;
remainingAmount = remainingAmount % 25;
double numDimes = remainingAmount / 10;
remainingAmount = remainingAmount % 10;
double numNickels = remainingAmount / 5;
remainingAmount = remainingAmount % 5;
double numPennies = remainingAmount;
System.out.println("Dollars: " + numDollars);
System.out.println("Quarters: " + numQuarters);
System.out.println("Dimes: " + numDimes);
System.out.println("Nickels: " + numNickels);
System.out.println("Pennies: " + numPennies);
}
}
当我尝试运行代码时,例如,当我在247
输入“需要的金额”并输入客户编号315
时,我只会收到余数。在“ Dollars:”的第一条语句中,我得到68
作为余数
您总是只看到美元金额而没有硬币的原因是,您提示用户输入美元金额。 然后,您的代码将此美元金额乘以100,以确定美分数。 由于输入始终是美元的倍数,因此除以100后就不会有任何余数,因此就不会有任何硬币。
如果要查看一些硬币,则允许用户输入带小数美分的美元金额(作为double
型输入),然后您将在其中看到美分(不是双关语):
System.out.print("Enter the amount due: ");//Variable = amount
Scanner keyboard = new Scanner(System.in);
double amount = keyboard.nextDouble(); // e.g. 311.00
System.out.print("Enter the amount recieved from Customer: ");
Scanner keyboard2 = new Scanner(System.in);
double customer = keyboard2.nextDouble(); // e.g. 320.49
double change = customer - amount; // 9.4900000
int remainingAmount = (int)(change * 100); // 949
int numDollars = remainingAmount / 100; // 9 (49 gets truncated)
remainingAmount = remainingAmount % 100; // 49 remainder
int numQuarters = remainingAmount / 25; // 1 (24 gets truncated)
remainingAmount = remainingAmount % 25; // 24 remainder
int numDimes = remainingAmount / 10; // 2 (4 gets truncated)
remainingAmount = remainingAmount % 10; // 4 remainder
int numNickels = remainingAmount / 5; // 0
remainingAmount = remainingAmount % 5; // 4 remainder
int numPennies = remainingAmount; // 4 pennies left
System.out.println("Dollars: " + numDollars);
System.out.println("Quarters: " + numQuarters);
System.out.println("Dimes: " + numDimes);
System.out.println("Nickels: " + numNickels);
System.out.println("Pennies: " + numPennies);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.