java入门【九】超市结账系统

本文介绍了一个使用Java实现的超市结账系统模拟程序。通过控制台输入,模拟顾客购买商品的过程,包括输入商品单价、数量及是否继续购买,最终计算并显示每位顾客的总消费金额。程序采用do-while循环确保至少有一件商品被结算,并通过BufferedReader读取用户输入。
摘要由CSDN通过智能技术生成

 引入一些类库 创建一个新的reader

直接使用类库中的方法 

 

 

package 超市结账;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class CountScripComplex {
	public static void main(String[] args) throws IOException {
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				System.in));    //创建一个reader
		int serveTimes = 0; 	// 结账员需要接待的顾客的次数
		int totalCost = 0;		// 存放一次结账的总消费金额
		int hasMoreGoods = 0;	// 在结账过程中,用来存放是否还有商品要结算。1为
								// 有,其他值为没有
		System.out.println("请输入结账员需要接待顾客的数量:");
		serveTimes = Integer.parseInt(reader.readLine());
								// 从控制台读取输入的serveTimes的值
		for (int i = 0; i < serveTimes; i++) {
			totalCost = 0;		// 每次处理结账之前,都要将totalCost设置为0
			do {	// 使用do-while语句,一个顾客至少要买一样东西,否则不需结账
					// 从控制台读取单价,如果单价不小于0则继续,否则要重新输入
				System.out.println("请输入商品的单价:");
				int price = Integer.parseInt(reader.readLine());
				if (price < 0) {
					System.out.println("商品单价不能小于0!");
					hasMoreGoods = 1;		// 赋值1,确定下次肯定会循环
					continue;
				}
				// 从控制台读取数量,如果单价不小于0则继续,否则要重新输入
				System.out.println("请输入商品的数量:");
				int amount = Integer.parseInt(reader.readLine());
				if (price < 0) {
					System.out.println("商品数量不能小于0!");
					hasMoreGoods = 1;		// 赋值1,确定下次肯定会循环
					continue;
				}
				totalCost = totalCost + price * amount;  // 计算当前的总价
				System.out.println("当前总价为:" + totalCost);
											// 输出当前的总价
				System.out.println("还有商品需要结算吗?(输入1为有,其他数字为没有)");
				hasMoreGoods = Integer.parseInt(reader.readLine());
											// 本次结算是否还有商品
			} while (hasMoreGoods == 1);
			System.out.println("本次消费金额为:" + totalCost);
											// 输出本次结账的总价
			System.out.println("=====谢谢光临,欢迎下次再来!=====");
											// 一次结账过程结束
		}
		System.out.println(serveTimes + "次结算已经结束");
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值