java实现简单的小超市程序

这篇文章主要为大家详细介绍了java实现简单的小超市程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现小超市程序的具体代码,供大家参考,具体内容如下

一.人物包

1.顾客类

 package person; public class Customer { public String name; public double money; public boolean isDrivingCar; }

二.超市包

1.小超市类

 package supermarket; public class LittleSuperMarket { public String superMarketName; public String address; public int parkingCount; public double incomingSum; public Merchandise[] merchandises; public int[] merchandisesold; }

2.商品类

 package supermarket; public class Merchandise { public String name; public String id; public int count; public double soldPrice; public double purchasePrice; }

三.主程序

 import person.Customer; import supermarket.LittleSuperMarket; import supermarket.Merchandise; import java.util.Scanner; public class Run { public static void main(String[] args) { //通过小超市类创建超市实体 LittleSuperMarket littleSuperMarket = new LittleSuperMarket(); //为超市属性赋值 littleSuperMarket.address = "世纪大道999号"; littleSuperMarket.superMarketName = "我家超市"; littleSuperMarket.parkingCount = 200; //为超市商品属性new一个大小为200的数组,类型为Merchandise littleSuperMarket.merchandises = new Merchandise[200]; //创造下标相同的数组记录相同下标商品的卖出个数 littleSuperMarket.merchandisesold = new int[littleSuperMarket.merchandises.length]; //赋值 for (int i = 0; i  0.4; customer.money = (1 + Math.random()) * 10000; //先判断顾客是否开车 if (customer.isDrivingCar) { System.out.println("欢迎顾客" + customer.name + "号的顾客驾车而来!"); //顾客开车的条件下车位数>0,车位减一,否则重新进入循环(车位小于零,顾客无法停车) if (littleSuperMarket.parkingCount > 0) { littleSuperMarket.parkingCount--; System.out.println("欢迎顾客" + customer.name + "号的顾客光临" + littleSuperMarket.superMarketName + ",车位剩余" + littleSuperMarket.parkingCount + ",钱包剩余" + customer.money); } else { System.out.println("对不起,停车位已满,欢迎下次光临"); continue; } //没开车,直接进入 } else { System.out.println("欢迎顾客" + customer.name + "号的顾客光临" + littleSuperMarket.superMarketName + "钱包剩余" + customer.money); } //在购买流程外部创建变量统计总共花费和购买数量 double totalCast = 0; int numToBuy; //购买循环 while (true) { System.out.println("本店提供" + littleSuperMarket.merchandises.length + "种商品,欢迎选购。请输入商品编号:"); int InDex = scanner.nextInt(); //对商品索引的合法性进行检测 if (InDex <= 0) { break; } if (InDex > littleSuperMarket.merchandises.length - 1) { System.out.println("对不起,本店没有那么多商品。请输入0到" + (littleSuperMarket.merchandises.length - 1) + "之间的数字"); continue; } System.out.println("您选购的商品的名字是:" + littleSuperMarket.merchandises[InDex].name + "\t售价为:" + littleSuperMarket.merchandises[InDex].soldPrice); System.out.println("请问你要买几个?"); numToBuy = scanner.nextInt(); //对购买数量的合法性进行检测 if (numToBuy <= 0) { System.out.println("不买看看也好,欢迎继续选购"); continue; } if (numToBuy > littleSuperMarket.merchandises[InDex].count) { System.out.println("本店没有那么多商品,欢迎继续挑选"); continue; } /*其实这里的逻辑不太好,但是懒得改了,等再学习一段时间再好好完善这个小程序。这里把花费放在购买循环外面才是比较好的逻辑,然后在这里用if循环判断购买的一系列合法性即可。 或者把售卖个数的属性也在这里改变赋值会容易懂,我这里放到后面了,懒得改了。等下次优化功能时再整体优化逻辑 */ //输入合法,求总共花费,并对商品库存进行相应的扣除 totalCast += littleSuperMarket.merchandises[InDex].soldPrice * numToBuy; littleSuperMarket.merchandises[InDex].count -= numToBuy; //仍然属于合法性检测,检测顾客的钱是否够支付他所购买商品的总价 if (customer.money  0) { //计算总利润和总净利润,通过累加求得 double incoming = littleSuperMarket.merchandises[i].soldPrice * littleSuperMarket.merchandisesold[i]; double netIncoming = (littleSuperMarket.merchandises[i].soldPrice - littleSuperMarket.merchandises[i].purchasePrice) * littleSuperMarket.merchandisesold[i]; totalIncoming += incoming; totalNetIncoming += netIncoming; System.out.println(littleSuperMarket.merchandises[i].name + "售出了" + littleSuperMarket.merchandisesold[i] + "个。销售额为" + incoming + ",净利润为" + netIncoming); } } System.out.println("今日总销售额为:" + totalIncoming + ";今日总净利润为:" + totalNetIncoming); } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持html中文网。

以上就是java实现简单的小超市程序的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java