java程序链接超市超时_Java超市实例(一点小东西,写出来跟大家分享一下)

本帖最后由 poiugh岁月 于 2017-10-11 23:35 编辑

Java超市实例

在日常生活中,超市是我们经常出没的地方,以前也用C/C++写过一些通讯录,员工之类的管理小程序,现在学习了Java,也想利用Java语言来写一个小程序;分析如下:(有错误请回帖  谢谢)

先说一下大致有那几个类 :

1.商品类(Goods): 主要数据成员  商品名称GName  商品价格GPrice 在超市购买商品肯定有数目GCount  代码如下:

package Shop;

public class Goods         //商品类

{

private String GName;             //商品名

private int GCount;               //商品数量

private double GPrice;        //商品价格

Goods(String name,double price,int count)      //构造函数初始化

{

this.GName=name;

this.GPrice=price;

this.GCount=count;

}

public String getGName() {

return GName;

}

public void setGName(String gName) {

GName = gName;

}

public int getGCount() {

return GCount;

}

public void setGCount(int gCount) {

GCount = gCount;

}

public double getGPrice() {

return GPrice;

}

public void setGPrice(double gPrice) {

GPrice = gPrice;

}

}

2.购物车类ShoppingCar   分析一下   购物车类肯定有货物   这里就不用数组写了新学了一个List (还不知道具体用法  嘻嘻)  大致就是一个购物车类  然后可以向购物车加入或者拿出商品  最后再写一个求商品总价的代码吧  代码如下:

package Shop;

import java.util.ArrayList;

import java.util.List;

public class ShoppingCar       //购物车类

{

public List goods;

public ShoppingCar()

{

this.goods=new ArrayList();

}

public void addgoods(Goods gd)         //增加商品

{

this.goods.add(gd);

}

public void delgoods(Goods gd)         //拿出商品

{

this.goods.remove(gd);

}

public double gettotal()         //计算购物车中商品总价

{

double total=0;

for(int i=0;i

{

Goods temp=goods.get(i);

total=total+temp.getGPrice()*temp.getGCount();

}

return total;

}

}

3.顾客类(Customer)  顾客肯定有姓名,买东西肯定会带钱的   顾客当然也需要一辆购物车  当然顾客可以调用购物车来进行增加商品和减少商品   代码如下:

package Shop;

public class Customer {     //顾客类

private String CName;       //顾客姓名

private double CMoney;   //顾客带的购物的钱

private ShoppingCar sc;   //顾客拥有的购物车

Customer(String name,double money)      //构造函数初始化

{

this.CName=name;

this.CMoney=money;

sc=new ShoppingCar();                       //让这个购物车属于这个顾客

}

public String getCName() {

return CName;

}

public void setCName(String cName) {       //打印凭条时可以打印姓名

CName = cName;

}

public double getCMoney() {

return CMoney;

}

public void setCMoney(double cMoney) {

CMoney = cMoney;

}

public void add(Goods good)           //顾客添加商品  就是购物车中添加商品

{

sc.addgoods(good);

}

public void del(Goods good)                        //顾客减少商品

{

sc.delgoods(good);

}

public ShoppingCar getSc()

{

return sc;

}

}

4.收银员类 (Cashier) 收银员最主要的功能就是收费打印凭条是吧   在这个过程当中  收银员本来柜台里有钱的,然后顾客消费  这个钱会增加(没有实现)代码如下:

package Shop;

public class Cashier {                //收银员类

private String Name;        //收银员姓名

private double Money;     //收银员柜台里的钱

Cashier(String name,double money)

{

this.Name=name;

this.Money=Money;

}

public void print(Customer cs)

{

ShoppingCar sc=cs.getSc();

System.out.println("打印凭条:");

System.out.println("顾客姓名:"+cs.getCName());

System.out.println("收银员姓名:"+this.Name);

System.out.println("商品名称"+"     "+"商品价格"+"       "+"商品数量");

for(int i=0;i

{

Goods temp=sc.goods.get(i);

System.out.println("   "+temp.getGName()+"            "+temp.getGPrice()+"              "+temp.getGCount());

}

if((cs.getCMoney()-sc.gettotal())>0)

{

System.out.println("应付:"+sc.gettotal());

System.out.println("实付:"+cs.getCMoney());

System.out.println("找零:"+(cs.getCMoney()-sc.gettotal()));

System.out.println("欢迎下次光临");

}

else

{

System.out.println("您的钱不够哦QAQ");

}

}

public String getName() {

return Name;

}

public void setName(String name) {

Name = name;

}

public double getMoney() {

return Money;

}

public void setMoney(double money) {

Money = money;

}

}

5.测试代码:

public class Test {

public static void main(String[] args) {

Customer cs=new Customer("张三",1000);

Cashier sc=new Cashier("李四",2000);

cs.add(new Goods("铅笔",2,10));

cs.add(new Goods("课本",10,4));

cs.add(new Goods("电扇",50,1));

cs.add(new Goods("鼠标",100,1));

cs.add(new Goods("耳机",200,1));

sc.print(cs);

}

}

运行结果如下:

打印凭条:

顾客姓名:张三

收银员姓名:李四

商品名称     商品价格       商品数量

铅笔            2.0              10

课本            10.0              4

电扇            50.0              1

鼠标            100.0              1

耳机            200.0              1

应付:410.0

实付:1000.0

找零:590.0

欢迎下次光临

图片上传不下来   不好意思  我打包下

1.png

(22.57 KB, 下载次数: 22)

2017-10-11 23:28 上传

bdea3cdfc23f0ffcd8d939d1761025e0.gif

6589598f1a9e053326bdd97ddb840118.gif

55fd2b2273b5a8b4531f72773c469d6e.gif

2b1bef8df4f01fee4fc8b39358cdcfb3.gif

2017-10-11 23:32 上传

点击文件名下载附件

下载积分: 吾爱币 -1 CB

9.24 KB, 下载次数: 47, 下载积分: 吾爱币 -1 CB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值