java水果超市课程设计_【笔记】学习java第十三天,水果超市

这是一个Java实现的水果超市课程设计项目,包括Fruits类定义、数据录入方法、操作选择及业务逻辑实现。用户可以进行购买、查看库存、结账、查询流水等操作,实现了基本的超市管理功能。
摘要由CSDN通过智能技术生成

[Java] 纯文本查看 复制代码/

* 1、完成水果项的Fruits类的定义;

* 2、写出含有的工具方法;

* 1、录入整数的方法;

* 2、录入小数的方法;

* 3、录入字符串的方法;

* 3、成员位置定义集合,存储所有水果项(用来模拟数据库)

* 4、在main方法中使用循环嵌套switch选择不同操作;

* 5、业务逻辑方法实现;

* 初始化数据库; init 方法 void 返回值

* 购买水果 ; buy 方法 void 返回值

* 打印库存 kc 方法 void 返回值 查看库存一样

* 结账/打印小票 jz 方法 void 返回值

* 打折 dz 方法 double 返回值

* 数据重置 cz 方法 void 返回值

* 打印超市流水 ls 方法 void 返回值

* 总账查询 zz 方法 void 返回值

* 删除水果 sc 方法 void 返回值

* 添加水果 tj 方法 void 返回值

* 修改水果项 xg 方法 void 返回值

*/

import java.util.ArrayList;

import java.util.Scanner;

public class FruitsStore {

//水果项集合

static ArrayList list = new ArrayList();

//创建流水集合,用于存放流水数据

static ArrayList flowData = new ArrayList();

//main方法;

public static void main(String[] args) {

init();

//使用while(true)反复完成用户的操作,用户操作有多种,多种操作使用switch选择;

while(true){

//打印提示语;

System.out.println();

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

System.out.println("请输入的操作;");

System.out.println("1、购买水果;2、打印小票;");

System.out.println("3、流水查询;4、总账查询;");

System.out.println("5、添加新水果;6、删除水果;7、修改水果;8、查询库存;");

System.out.println("9、退出操作;");

System.out.println("");

//用户录入

int choose = enterInt();

switch(choose){

case 1://购买水果;

buy();

break;

case 2://结账及重置数据;

jz();

cz();

break;

case 3://查看流水;

ls();

break;

case 4://总账查询;

zz();

break;

case 5:

tj();

break;

case 6:

sc();

break;

case 7:

xg();

break;

case 8:

kc();

break;

case 9:

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

cz();

break;

default:

System.out.println("您输入的数字有误,请重新输入!");

break;

}

}

}

//录入整数的方法

public static int enterInt(){

Scanner sc = new Scanner(System.in);

return sc.nextInt();

}

//录入小数的方法;

public static double enterDouble(){

Scanner sc = new Scanner(System.in);

return sc.nextDouble();

}

//录入字符串的方法;

public static String enterString(){

Scanner sc = new Scanner(System.in);

return sc.next();

}

//初始化数据库

public static void init(){

Fruits a = new Fruits();

a.name = "猕猴桃";

a.id = 00321;

a.price = 33.5;

a.unit = "斤";

Fruits b = new Fruits();

b.name = "苹果";

b.id = 00432;

b.price = 20;

b.unit = "斤";

Fruits c = new Fruits();

c.name = "火龙果";

c.id = 10231;

c.price = 28;

c.unit = "斤";

list.add(a);

list.add(b);

list.add(c);

}

//购买水果的方法

public static void buy(){

//打印库存

kc();

//提示打印信息

System.out.println();

System.out.println("---------------------------------------");

System.out.println();

System.out.println(" 好消息年底大促销");

System.out.println("---------------------------------------");

System.out.println(" 满300打9.5折");

System.out.println(" 满600打9折");

System.out.println(" 满1000打8折");

System.out.println(" 满1000且榴莲购买超过10个立减50元!!!!");

System.out.println(" ...");

System.out.println("---------------------------------------");

//循环输入购买的编号及数量

while(true){

//用户选择购买的水果编号

System.out.println("请输入您要购买的水果编号;如果输入0位退出!");

int aId = enterInt();

//判断是否有水果编号;如果输入0退出

//判断是否购买结束

if( aId == 0){

return;

}

//判断是否有水果编号

//循环外定义一个变量,记录是否有数据;

boolean flag = false;

//遍历集合一次对比

for (int i = 0; i < list.size(); i++) {

//获取当前水果项

Fruits a = list.get(i);

//对比水果id

if (aId == a.id){

//提示输入数量

System.out.println("请输入您要购买的数量;");

int number = enterInt();

//将用户输入的数量赋值给这个ID的水果项

a.number = number;

a.money = a.number*a.price;

flag = true;

}

}

if (!flag){

System.out.println("您的输入有误;");

}

}

}

//打印库存

public static void kc(){

System.out.println(" 水果报价单");

System.out.println("---------------------------------------");

System.out.println("编号 名称 单价 单位");

//遍历集合并打印

for (int i = 0; i < list.size(); i++) {

//打印编号、名称、单价、单位

//获取当前水果项

Fruits a = list.get(i);

//打印当前水果数据

System.out.println(a.id+" "+a.name+" "+a.price+" "+a.unit);

}

}

//结账/打印小票

public static void jz(){

//票头

System.out.println("这是您的购物小票;");

System.out.println("======================================================================");

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

System.out.println();

System.out.println("品名 售价 数量 金额");

System.out.println("----------------------------------------------------------------------");

//票体

//定义变量记录该用户购买的项数

int totalNumber = 0;

double totalMoney = 0 ;

for (int i = 0; i < list.size(); i++) {

Fruits a = list.get(i);

//数量不为0的打印;

if (a.number!=0){

System.out.println(a.name+"("+a.id+") "+a.price+" * "+a.number+" "+a.money);

//叠加每个购买金额

totalMoney += a.money;

//购买项数

totalNumber++;

}

}

//票脚

System.out.println("----------------------------------------------------------------------");

System.out.println(totalNumber+"项水果");

//打折

System.out.println("总计;"+totalMoney+"元");

double b = dz(totalMoney);

System.out.println("打折后为您节省;"+(totalMoney-b)+"元");

System.out.println("折后总价为;"+b);

flowData.add(b);

}

//打折处理

public static double dz(double totalMoney){

if(totalMoney<300){

//System.out.println("<300");

return totalMoney;

}else if(totalMoney>=300&&totalMoney<600){

//System.out.println("totalMoney>=300&&totalMoney<600");

return totalMoney*0.95;

}else if(totalMoney>=600&&totalMoney<1000){

//System.out.println("totalMoney>=600&&totalMoney<1000");

return totalMoney*0.9;

}else if(totalMoney>=1000){

//System.out.println("totalMoney>=1000");

if(list.get(0).number>10){

System.out.println("list.get(0).number>10");

return totalMoney*0.8-50;

}else {

return totalMoney*0.8;

}

}

return totalMoney;

}

//数据重置

public static void cz(){

//遍历集合

for (int i = 0; i < list.size(); i++) {

Fruits a = list.get(i);

a.number = 0;

a.money = 0;

}

}

//流水方法

public static void ls(){

if (flowData.size()==0) {

System.out.println("今天没开张!");

}else {

//遍历集合 ,产看流水

for (int i = 0; i < flowData.size(); i++) {

//获取当前水果流水

double a = flowData.get(i);

System.out.println("第"+(i+1)+"笔交易金额为;"+a);

}

}

}

//总账方法

public static void zz(){

//遍历流水

double a =0;

for (int j = 0; j < flowData.size(); j++) {

//将流水相加

double money =flowData.get(j);

//a = money +1

a += money;

}

System.out.println("今天总收入为;"+a);

}

//删除方法

public static void sc(){

//删除水果;1、查看水果的编号;2、设置变量与水果编号一样;3、判断是否一样;4、删除该编号水果

kc();

System.out.println("请输入您删除水果的编号;");

int a = enterInt();

//遍历水果编号

for (int i = 0; i < list.size(); i++) {

Fruits id = list.get(i);

if(a == id.id){

list.remove(i);

System.out.println("您选择的水果已删除!");

}

}

System.out.println("对不起,没有找到编号!");

}

//添加方法

public static void tj(){

//查看水果;

kc();

//添加输入信息

System.out.println("请输入您要添加的水果编号");

int aid = enterInt();

//判断输入编号是否重复

for (int i = 0; i < list.size(); i++) {

Fruits id = list.get(i);

//编号不重复直接向下运行;

if (aid==id.id){

System.out.println("您输入的id有误,请重新输入;");

return;//直接退出循环

}

}

System.out.println("请输入您要添加的水果名称");

String aname = enterString();

System.out.println("请输入您要添加的水果单价");

double aprice = enterDouble();

System.out.println("请输入您要添加的水果单位");

String aunit = enterString();

//将录入的内容放进集合里

//需要一个变量接收数据

Fruits b = new Fruits();

b.id = aid;

b.name = aname;

b.price = aprice;

b.unit = aunit;

list.add(b);

//提示用户输入成功

System.out.println("添加水果成功!");

}

//修改方法

public static void xg(){

//产看水果项

kc();

//提示输入修改编号

System.out.println("请输入您要改的水果编号;");

//输入修改的编号

int aid = enterInt();

//判断修改的编号是否正确

for (int i = 0; i < list.size(); i++) {

Fruits b = list.get(i);

if (aid == b.id){

System.out.println("请输入您要改的水果名称;");

String aname = enterString();

System.out.println("请输入您要改的水果单价;");

double aprice = enterDouble();

System.out.println("请输入您要改的水果单位;");

String aunit = enterString();

//存进集合内;

b.price = aprice;

b.name = aname;

b.unit = aunit;

return;

}

}

System.out.println("你修改的编号错误!");

return;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值