Java代码统计客户购买的物品的总金额并且找零,要求:每样货物包括信息,名称,数量,单价;每样货物的信息放在一行;货物信息从键盘输入,不能写入代码,要求必须基础
时间: 2024-10-22 18:15:44 浏览: 15
Java动态规划之硬币找零问题实现代码
5星 · 资源好评率100%
在Java中,你可以使用Scanner类来接收用户的输入,并通过循环结构计算总金额和找零。这里是一个简单的示例:
```java
import java.util.Scanner;
public class ShoppingCart {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 定义变量存储总金额
double totalPrice = 0;
double change = 0; // 假设初始找零为0
// 循环获取用户输入直到结束提示
while (scanner.hasNextLine()) {
String input = scanner.nextLine();
// 拆分输入,假设格式为 "商品名称 数量 单价"
String[] parts = input.split(" ");
String productName = parts[0];
int quantity = Integer.parseInt(parts[1]);
double unitPrice = Double.parseDouble(parts[2]);
// 计算单件商品的价格并累加到总价
totalPrice += quantity * unitPrice;
// 用户选择是否继续购物,"n"表示结束
System.out.println("请输入下一件商品,或者输入'n'结束:");
if ("n".equals(scanner.nextLine())) break;
}
// 找零部分
change = calculateChange(totalPrice); // 假设找零规则自行设定
System.out.printf("总金额: %.2f, 找零: %.2f\n", totalPrice, change);
// 关闭Scanner
scanner.close();
}
// 示例性的找零函数,可以根据实际情况修改
private static double calculateChange(double totalPrice) {
// 这里只是一个简单的例子,实际应用中需要考虑找零规则如最小面额等
return Math.floor(totalPrice - 5); // 假设最低找回5元
}
}
```
在这个代码中,用户通过连续输入商品信息(名称、数量和单价),系统会累计总金额。当用户输入'n'表示结束时,程序会计算并打印出总金额和找零。
阅读全文