收银系统(Java简单版)

源代码:

import java.util.*;

public class shopping{
	public static void main(String[] args){
		Good good=new Good();
		good.Init();
		good.menu();
		good.choice();	
	}
}

class Good{
	//创建属性
	int[] id=new int[11];
	String[] name=new String[10];
	double[] price=new double[10];
	
	Scanner scanner=new Scanner(System.in);
	
	//初始化
	public void Init(){
		for(int i=0;i<10;i++){
			id[i]=i+1;
			name[i]="未上架";
			price[i]=0.0;
		}
	}
	
	
	//菜单
	public void menu(){
		System.out.println("***************欢迎使用007超市收银系统************");
		System.out.println("\t\t  1. 商品查看");
		System.out.println("\t\t  2. 商品上架");
		System.out.println("\t\t  3. 商品下架");
		System.out.println("\t\t  4. 商品购买");
		System.out.println("\t\t  5. 退出系统");
		System.out.println("**************************************************");
	}
	public void choice(){
		while(true){
			System.out.println("请输入您的选择");
			int choice=scanner.nextInt();
			switch(choice){
				case 1:checkGood();
				       menu();
				       break;
			    case 2:addGood();
				       checkGood();
				       menu();
				       break;
			    case 3:outGood();
				       checkGood();
				       menu();
				       break;
				case 4:checkGood();
				       buyGood();
					   menu();
				       break;
				case 5:quit();
				       break;
				default:System.out.println("您输入有误,请重新输入");
				       menu();
			}
		}		
	}
	
	 public void quit() {
        System.out.println("*******************************************************");
        System.out.println("                欢迎使用,下次再见                 ");
        System.out.println("*******************************************************");
        System.exit(0);
    }

	
	//添加商品
	public void addGood(){
		for(int i=0;i<10;i++){
		if(name[i]=="未上架"){
			System.out.println("现在已上架商品数目为: "+i+",还有上架商品的空位有"+(10-i)+"个");
			System.out.println("现上架商品编号为:"+(i+1));
			System.out.println("请输入上架商品的名称:");
			name[i]=scanner.next();
			System.out.println("请输入上架商品的价格: (格式:0.0)");
		    price[i]=scanner.nextDouble();
			System.out.println("继续上架商品-->1,结束上架-->0");
			int a=scanner.nextInt();
			if(a==0)
				break;
		}
		}
		System.out.println("上架成功!");	
	}
	
	
	//下架商品
	public void outGood(){
		System.out.print("请输入你想下架商品的编号: ");
		int outid=scanner.nextInt();
		name[outid-1]="未上架";
		price[outid-1]=0.0;
	}
	
	
	//商品查看
	public void checkGood(){
		System.out.println("\t商品编号\t商品名称\t商品价格");
		for(int i=0;i<10;i++)
			System.out.println("\t"+id[i]+"\t\t"+name[i]+"\t\t"+price[i]);
	}
	
	
	//商品购买
	public void buyGood(){
		double sum=0;
		//辅助打印清单的变量
		int[] paperid=new int[20];
		int[] papernum =new int[20];
		String[] papername=new String[20];
		double[] paperprice=new double[20];
		for(int j=0;j<20;j++){
			paperid[j]=0;
			papernum[j]=0;
			papername[j]="";
			paperprice[j]=0.0;
		}
		int j=0;
		//购买循环
		while(true){
			System.out.print("请输入商品编号:");
			int buyid=scanner.nextInt();
		    System.out.print("请输入商品件数:");
		    int num=scanner.nextInt();
			for(int i=0;i<10;i++){
				if(buyid==id[i]){
					sum=price[i]*num+sum;
					System.out.println("");
					System.out.println(name[i]+"已加入购物车 "+num+" 件");
					paperid[j]=buyid;
					papernum[j]=num;
					papername[j]=name[i];
					paperprice[j]=price[i];
					j++;
					}
				}
				System.out.println("");
				System.out.println("继续购买-->1,结束购买-->0");
				int a=scanner.nextInt();
				//打印清单
			    if(a==0){
					System.out.println("*********************购物清单************************");
					System.out.println("次序"+"\t商品名称"+"\t商品单价"+"\t商品个数");
					j=0;
					while(paperid[j]!=0){
						System.out.println(+(j+1)+" ."+"\t"+papername[j]+"\t\t"+paperprice[j]+"\t\t"+papernum[j]);
			            j++;
						}
						System.out.println("");
						System.out.println("总计: "+sum);
						System.out.println("**************************************************");
					break;
				}
				}
				}
	
}

运行截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码总结:这个收银系统的代码,最初,博主是想把打印小票的功能单独拿出来作为一个选项的。无奈,Java 掌握的不熟练,试了很多次,都没有成功,就取个巧,把购买和打印小票的功能放在一起了。|ω・)

心得总结:博主刚刚开始学习Java,对Java的掌握还不是特别熟练,虽然这个收银系统是拿Java写的,但是我感觉充满了浓浓的C的味道。
现在只是一个初版,等我Java完全学习一遍,可能会写出一个更棒的收银系统。٩( ‘ω’ )و

  • 13
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
好的,我可以帮助您解答关于超市收银系统的问题。在Java中实现超市收银系统可以采用面向对象的思想,将超市、商品和收银员等概念抽象为类,并定义相应的属性和方法来实现系统的功能。以下是一个简单的示例代码: ```java // 商品类 class Product { private String name; private double price; public Product(String name, double price) { this.name = name; this.price = price; } public String getName() { return name; } public double getPrice() { return price; } } // 超市类 class Supermarket { private List<Product> products; public Supermarket() { products = new ArrayList<>(); } public void addProduct(Product product) { products.add(product); } public Product getProduct(String name) { for (Product product : products) { if (product.getName().equals(name)) { return product; } } return null; } } // 收银员类 class Cashier { private Supermarket supermarket; private List<Product> cart; public Cashier(Supermarket supermarket) { this.supermarket = supermarket; cart = new ArrayList<>(); } public void scan(String productName) { Product product = supermarket.getProduct(productName); if (product != null) { cart.add(product); System.out.println("扫描成功:" + productName); } else { System.out.println("抱歉,该商品不存在:" + productName); } } public double calculateTotal() { double total = 0.0; for (Product product : cart) { total += product.getPrice(); } return total; } } public class Main { public static void main(String[] args) { // 创建超市对象 Supermarket supermarket = new Supermarket(); // 添加商品 supermarket.addProduct(new Product("苹果", 5.0)); supermarket.addProduct(new Product("香蕉", 3.0)); supermarket.addProduct(new Product("饼干", 10.0)); // 创建收银员对象 Cashier cashier = new Cashier(supermarket); // 扫描商品 cashier.scan("苹果"); cashier.scan("饼干"); cashier.scan("薯片"); // 该商品不存在 // 计算总价 double total = cashier.calculateTotal(); System.out.println("总价:" + total); } } ``` 这是一个简单的超市收银系统的示例,您可以根据实际需求进行修改和扩展。如果您有其他

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值