java---超市收银系统

Main.java 

package com.example.main;

import java.util.Scanner;

import com.example.tools.Admin;
import com.example.tools.Shopping;

public class Main {
	Shopping shopping = new Shopping();
	static Main main;

	public static void main(String[] args) {
		main = new Main();
		main.login();
	}
	
	public void login(){
		Scanner sc = new Scanner(System.in);
		do{
			System.out.println("请选择登录身份:1.管理员    2.顾客");
			int option = sc.nextInt();
			if(option == 1){
				Admin admin = new Admin();
				admin.login();
			}else if(option == 2){
				main.welcome();
			}
			System.out.println("是否继续操作?1 是    2 否");
			option = sc.nextInt();
			if(option == 1){
				continue;
			}else if(option == 2){
				break;
			}
		}while(true);
		System.out.println("谢谢使用本系统!");
	}
	
	public void welcome() {
		System.out.println("*********************************");
		System.out.println("********自助商店********");
		System.out.println("*********************************");
		showAllFoods();
	}
	
	public void showAllFoods() {
		
		shopping.showAllFoods();
		buy();
	}
	
	public void buy(){
		shopping.buy();
	}
}

Admin.java 

package com.example.tools;

import java.util.Scanner;

public class Admin {
	private String userName = "admin";
	private String psw = "123";
	Scanner sc = new Scanner(System.in);
	
	public Admin(){
		
	}

	public String getUserName() {
		return userName;
	}

	public String getPsw() {
		return psw;
	}
	
	public void login(){
		System.out.println("请输入用户名:");
		String user = sc.next();
		System.out.println("请输入密码");
		String psw = sc.next();
		if(!"".equals(user) && !"".equals(psw)){
			if("admin".equals(user)&& "123".equals(psw)){
				System.out.println("登录成功!");
				showAdminMenu();
			}else{
				System.out.println("用户名或密码有误,请重新输入!");
				login();
			}
		}else{
			System.out.println("用户名或密码不能为空!");
			login();
		}
	}
	
	public void showAdminMenu(){
		System.out.println("=========================");
		System.out.println("=======管理员操作菜单=========");
		System.out.println("=========================");
		System.out.println("1.添加商品");
		System.out.println("2.下架商品");
		int option = sc.nextInt();
		if(option == 1){
			addCommodity();
		}else if(option == 2){
			deleteCommodity();
		}
	}
	
	public void addCommodity(){
		int currentFoodKinds = FoodData.foodKinds;
		if(currentFoodKinds < 10){
			System.out.println("请输入新增商品名称:");
			String name = sc.next();
			System.out.println("请输入新增商品单价:");
			double price = sc.nextDouble();
			System.out.println("请输入新增商品库存数量:");	
			int reserve = sc.nextInt();
			FoodData.names[currentFoodKinds] = name;
			FoodData.prices[currentFoodKinds] = price;
			FoodData.reserves[currentFoodKinds] = reserve;
			FoodData.foodKinds++;
			System.out.println("新商品添加成功,还可添加" + (10 - FoodData.foodKinds) + "种商品");
		}else{
			System.out.println("抱歉,库存已满,无法新增商品!");
		}
	}
	
	public void deleteCommodity(){
		showAllCommodity();
		System.out.println("请输入要下架的商品编号:");
	}
	
	public void showAllCommodity(){
		System.out.println("商品编号\t"+"商品名称\t"+"商品单价(元)\t"+"商品数量(件)");
		for(int i=0; i< FoodData.foodKinds; i++) {
			if( FoodData.names[i] != null) {
				System.out.println((i+1)+"\t"+FoodData.names[i]+ "\t" 
						+ FoodData.prices[i] + "\t\t" + FoodData.reserves[i]);
			}
		}
	}
}

Cart.java 

package com.example.tools;

public class Cart {
	public static Food[] foodsInCart;
	
	public Cart(){
		foodsInCart = new Food[10];
	}
	
}

Customer.java 

package com.example.tools;

public class Customer {
	private boolean isMember = false;

	public boolean isMember() {
		return isMember;
	}

	public void setMember(boolean isMember) {
		this.isMember = isMember;
	}
	
	
	
}

Food.java 

package com.example.tools;

public class Food {
	private String name;
	private double price;
	private int number = 0;
	
	public Food(String name,double price, int number) {
		super();
		this.name = name;
		this.price = price;
		this.number = number;
	}
	
	public double getPrice() {
		return price;
	}

	public void setPrice(double price) {
		this.price = price;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getNumber() {
		return number;
	}

	public void setNumber(int number) {
		this.number = number;
	}

	
}

FoodData.java 

package com.example.tools;

public class FoodData {
	public static String[] names = new String[10];
	public static double[] prices = new double[10];
	public static int []reserves = new int[10];
	public static int foodKinds = 3;
	
	static{
		for(int i=0; i<names.length;i++) {
			switch(i) {
			case 0:
				names[i] = "可乐";
				prices[i] = 2.5;
				reserves[i] = 10;
				break;
			case 1:
				names[i] = "面包";
				prices[i] = 10;
				reserves[i] = 8;
				break;
			case 2:
				names[i] = "牛奶";
				prices[i] = 6;
				reserves[i] = 20;
				break;
			}
		}
	}
}

Shopping .java 

package com.example.tools;

import java.util.Scanner;

public class Shopping {
	private Cart cart;
	
	public Shopping() {
		cart = new Cart();
	}
	
	
	public void showAllFoods() {
		System.out.println("商品编号\t"+"商品名称\t"+"商品单价(元)\t"+"商品数量(件)");
		for(int i=0; i< FoodData.names.length; i++) {
			if( FoodData.names[i] != null) {
				System.out.println((i+1)+"\t"+FoodData.names[i]+ "\t" 
						+ FoodData.prices[i] + "\t\t" + FoodData.reserves[i]);
			}
		}
	}
	
	public void buy() {
		boolean flag = true;
		int index = 0;
		int number = 0;
		Scanner sc = new Scanner(System.in);
		do {
			while(true){
			System.out.println("请输入要购买的商品编号:");
			int foodId = sc.nextInt();
				if(foodId >=1 && foodId<= FoodData.foodKinds){
					while(true){
						System.out.println("请输入"+ FoodData.names[foodId - 1]+"的购买数量:");
						number = sc.nextInt();
						if( !(number <= FoodData.reserves[foodId - 1])){
							System.out.println("输入的数量大于该商品的库存数量,请重新输入!");
						}else{
							break;
						}
					}
					Food food = new Food(FoodData.names[foodId - 1], FoodData.prices[foodId - 1], number);
					FoodData.reserves[foodId - 1] = FoodData.reserves[foodId - 1] - number;
					if( index < 10){
						cart.foodsInCart[index] = food;
						index++;
					}else{
						System.out.println("购物车已放满,无法再继续购买!");
						break;
					}
					break;
				}else{
					System.out.println("输入的商品编号有误,请重新输入!");
				}
			}
			for(int i=0; i <index; i++){
				System.out.println("目前购买了:"+ cart.foodsInCart[i].getName()+ "\t数量为:" + cart.foodsInCart[i].getNumber()+
						"\t需支付: " + cart.foodsInCart[i].getNumber() * cart.foodsInCart[i].getPrice()+"元");
			}
			System.out.println("是否继续购物?(1.是 2.否)");
			int option = sc.nextInt();
			if(option == 1){
				showAllFoods();
				flag = true;
			}else{
				flag = false;
				double total = 0;
				System.out.println("小票打印中......");
				System.out.println("===============购物小票=============");
				for(int i=0; i <index; i++){
					System.out.println("商品名:"+ cart.foodsInCart[i].getName()+ "\t数量:" + cart.foodsInCart[i].getNumber()+
							"\t需支付: " + cart.foodsInCart[i].getNumber() * cart.foodsInCart[i].getPrice()+"元");
					total = total + cart.foodsInCart[i].getNumber() * cart.foodsInCart[i].getPrice();
				}
				System.out.println("一共请支付: "+ total + "元");
				System.out.println("=============================");
				System.out.println("谢谢光临!");
			}
			
		}while(flag);
		
	}
}

效果图:

  • 42
    点赞
  • 226
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值