超市购物小票案例

//定义商品类,包含名称,货号,单价,数量计价单位,金额

public class GoodsItem{
    private String name;
    private String id;
    private int number;
    private String unit;
    private double money;
    //构造方法
    public GoodsItem(){}
    GoodItem(String name,String id,double price
            ,int number,String unit,double money){
        this.name = name ;
        this.id= id;
        this.price = price;
        this.number = number;
        this.money = money;
        
    }
    //get/set 方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public int getNumber() {
        return number;
    }
    public void setNumber(int number) {
        this.number = number;
    }
    public double getMoney() {
        return money;
    }
    public void setMoney(double money) {
        this.money = money;
    }
    

}

//实现主干逻辑,main方法.
import java.util.ArrayList;
import java.util.Scanner;

public class ShoppingReceipt {
    static ArrayList<GoodItem>data = new ArrayList<GoodItem>();

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
         
         System.out.println("欢迎使用超市管理系统");
         initData();
         
    }

    private static void initData() {
        // TODO Auto-generated method stub
        GoodItem sls = new GoodItem("少林寺核桃","090115",15.5,0,"个",0);
        GoodItem shk = new GoodItem("尚康饼干", "090027", 14.5, 0, "个", 0);
        data.add(sls);
        data.add(shk);
        while(true){
            System.out.println("请输入你要进行的操作:1 输入购买数量 2 打印小票   3 退出");
            Scanner sc = new Scanner(System.in);
            int optNumber = sc.nextInt();
            switch(optNumber){
            
            case 1:
                enterNumber();
                break;
            case 2:
                printReceipt();
            case 3:
                System.out.println("欢迎下次光临");
                System.exit(0);
            default:
                System.out.println("请输入正确的数字!");
                break;
            }
    } 
    
        
    }

    private static void printReceipt() {
        // TODO Auto-generated method stub
        System.out.println("欢迎光临");
        System.out.println("品名  售价  数量   单位  金额");
        System.out.println("-------------------");
        int totalNumber =0;
        double totalMoney =0;
        for (int i = 0; i < data.size(); i++) {
            //依次获取每一个商品项
            GoodItem g = data.get(i);
            //打印商品项
            System.out.println(""+g.getName()+g.getId()+"  "+g.getPrice()+"  "+g.getNumber()+"  + "+g.getMoney());
            
            //累加数量与金额
            totalNumber += g.getNumber();
            totalMoney += g.getMoney();
        }
        System.out.println("-------------------------------------------");
        //票脚
        System.out.println("共"+data.size()+"项商品");
        System.out.println("共"+totalNumber+"件商品");
        System.out.println("共"+totalMoney+"元");
        System.out.println();
}

    

    private static void enterNumber() {
        // TODO Auto-generated method stub
        for(int i =0;i<data.size();i++){
            GoodItem thisGoods = data.get(i);
            String thisGoodsName = thisGoods.getName();
            System.out.println("请输入"+thisGoodsName+"的购买数量");
            
            Scanner sc = new Scanner(System.in);
            
            
            int thisGoodsNumber =sc.nextInt();
            
            double thisGoodsMoney = thisGoods.getPrice()*thisGoodsNumber;
            thisGoods.setNumber(thisGoodsNumber);
            thisGoods.setMoney(thisGoodsMoney);
            
        }
    }

}
时间: 2024-10-22 09:24:39

超市购物小票案例的相关文章

Java-超市购物小票案例-详细介绍

1.1  超市购物购物小票需求分析 用户循环进行三个操作: 1.输入购买数量,代表为所购买货物的数量赋值,从而计算每项商品金额 2.打印小票,将已有数据打印 3.退出系统(因为该程序为循环操作,无法终止,如果不想再进行操作,则退出系统) 1.1.1 案例代码一 public class GoodsItem { //成员变量                     private String name;   //名称                     private String id; 

案例一:打印超市的购物小票

一.题目:用IDEA打印出下列购物小票的信息,并贴出运行结果 二.代码: 1 package com.sz.zelin; 2 3 //这是注释,此处不执行!!!---这是程序的入口处!!! 4 5 public class Test2 { 6 public static void main(String[] args) { 7 System.out.println(" 人人乐白金假日购物广场(RenRenLe) "); 8 System.out.println("店 号:S1

python购物小票的案例

'''数据:T恤 tshirt 245元运动鞋 sport 370元网球拍 tennis 345.5元指令:输入:T恤 tshirt 245元运动鞋 sport 370元网球拍 tennis 345.5元输出:总价 t && 购物小票'''s1=245s2=370s3=345.5print("="25)print("T恤:%s"%s1)print("运动鞋:%s"%s2)print("网球拍:%s"%s3)pr

完成打印购物小票并计算积分

import java.util.Scanner; /** * @author 蓝色以太 * 完成打印购物小票并计算积分 */ public class ShoppingReceipt { public static void main(String[] args) { Scanner sc=new Scanner(System.in); final int NUM1=245,NUM2=570,NUM3=320; System.out.println("请输入购买T恤数量:"); in

RFID射频卡超市购物结算系统

这段时间在做RFID射频卡超市购物结算系统,这个系统的设想来自于大学研究课题,但是我们在淘宝网上购买设备的时候淘宝店主都认为RF射频技术不好应用在超市购物结算系统,原因有几点:第一个是超市有许多商品是水.饮料.肉类,射频会被削弱导致漏扫,第二个是超市每天卖出商品量很大,而RF卡的成本并不低,例如nxp sli卡的价格在1.6元以上 ,而FM1108的价格也在0.3元以上,如果商品采用这种卡,成本太高. 但既然是研究课题,也就是要通过项目实施去解决这些问题,对于各种问题提出解决方案.以下简单记录截

微信小程序 超市购物页面

日常记录 附上文档地址 有兴趣可以指点指点 纯属学习 https://files.cnblogs.com/files/NISUN/restaurant.zip 日常学习 index.wxml <!--index.wxml--> <view class="page"> <!-- 搜索框--> <view class="viewbox"> <view class="search"> <

分析超市购物流程,并画出活动图

第一部分:活动图语法 (1)简单活动图:活动标签(activity label)以冒号开始,以分号结束.活动默认安装它们定义的顺序就行连接. 1 @startuml 2 :Hello world; 3 :This is on defined on 4 several **lines**; 5 @enduml (2)开始/结束:你可以使用关键字start和stop表示图示的开始和结束. 1 @startuml 2 start 3 :Hello world; 4 :This is on define

超市购物功能,会员卡功能,会员卡积分查询功能,会员卡奖品功能,自己练手函数程序

函数自己练手一晚上敲的,各位博主可以走过路过可以来瞧瞧,欢迎评价提需求哈哈 total_prices = 0 def chiose(action): '''0是注册功能,1是会员卡系统,2是购物功能,3是会员查找积分功能,4为会员积分兑换功能''' #注册功能 if action == 0: # 注册内容 def register(): while True: print('注册账号'.center(50, "-")) name = input('请输入账号').strip() pri

例题:把一个超市购物的题做成函数。这个题做成函数没有必要,但可以了解输入参数,输出参数,返回值,函数体,还有结构体,ArryList集合,for循环算结果,以及集合里 .count的使用

class Program { struct shangpin                  //定义个结构体 { public string mingcheng; public int jiage; public int shuliang; } public double  chaoshi(double zongjia)    //定义函数名 { ArrayList al = new ArrayList();   //定义一个集合 while (true) { shangpin sp =