黑马程序员技术交流社区
标题:
JavaEE基础班 水果超市管理系统
[打印本页]
作者:
龙sama
时间:
2015-12-8 21:08
标题:
JavaEE基础班 水果超市管理系统
使用到的知识点:ArrayList、for循环、数组、Scanner输入、类的定义和封装、函数的定义和使用
有哪里可以改进的更好请大家指教,代码有点长要分两次
import java.util.Scanner;
import java.util.ArrayList;
public class ShoppingSystem
{
ArrayList<Fruit> fruitItem=new ArrayList<Fruit>();
Scanner sc=new Scanner(System.in);
ArrayList<Integer> totalPriceSystem=new ArrayList<Integer>();
public static void main(String[] args)
{
ShoppingSystem ss=new ShoppingSystem();
}
ShoppingSystem()
{
shoppingSystem();
}
public void shoppingSystem()
{
init();
System.out.println("欢迎使用《水果超市管理系统》");
doBusiness();
}
public void init()
{
Fruit liulian=new Fruit("泰国空运大榴莲","9056",120.0,"个");
fruitItem.add(liulian);
Fruit strawBerry=new Fruit("昌平农家有机草莓","3025",20.0,"斤");
fruitItem.add(strawBerry);
Fruit hamigua=new Fruit("新疆原产哈密瓜","2012",7.0,"斤");
fruitItem.add(hamigua);
}
public void doBusiness()
{
System.out.println("请输入您的身份:");
System.out.println("1、我是顾客 2、我是老板 3、退出系统");
int custom=enterNumber();
int[] number=new int[fruitItem.size()];
if(custom==1)
{
System.out.println(" 欢迎光临 ");
purchase(number);
}
else if(custom==2)
{
check();
}
else if(custom==3)
{
System.out.println(" ");
System.out.println(" ");
System.out.println("感谢您使用本系统");
System.exit(0);
}
else
{
System.out.println("身份选择错误,请重新选择身份:");
doBusiness();
}
}
public void purchase(int[] number)
{
System.out.println("请输入您的操作:");
System.out.println("1、购物(或继续购物) 2、付款(打印小票) 3、放弃购买");
int activity=enterNumber();
if(activity==1)
{
buy(number);
}
else if(activity==2)
{
printTicket(number);
}
else if(activity==3)
{
number=null;
System.out.println("");
System.out.println("欢迎使用《水果超市管理系统》");
doBusiness();
}
else
{
System.out.println("");
System.out.println(" 输入错误,请重新输入您的操作!");
System.out.println("");
System.out.println("欢迎使用《水果超市管理系统》");
doBusiness();
}
}
public void buy(int[] number)
{
showFruitList();
System.out.println(" 好消息!年底大促销:");
System.out.println("满300,打九五折!");
System.out.println("满600,打九折!!");
System.out.println("满1000,打八折!!!");
System.out.println("满1000且榴莲购买超过10个,立减50元!!!!!");
for(int i=0;i<fruitItem.size();i++)
{
System.out.println("请输入购买"+fruitItem.get(i).getName()+"的数量:");
number[i]+=enterNumber();
}
System.out.println("购物完成,如无异议请结算:");
purchase(number);
}
public void showFruitList()
{
System.out.println(" 水果报价单");
System.out.println("水果编号 水果名称 水果单价 计价单位 ");
for(int i=0;i<fruitItem.size();i++)
{
System.out.println(" "+fruitItem.get(i).getId()+" "+fruitItem.get(i).getName()+" "+fruitItem.get(i).getPrice()+" "+fruitItem.get(i).getUnit());
}
}
void printTicket(int[] number)
{
double totalPrice=0.0;
int totalItem=0;
int totalNumber=0;
int liulianNumber=0;
int discountPrice=0;
System.out.println(" 欢 迎 光 临 ");
System.out.println("======================================================================");
System.out.println("水果编号 水果名称 水果单价 计价单位 购买数量 金额");
for(int i=0;i<fruitItem.size();i++)
{
double price=fruitItem.get(i).getPrice()*number[i];
System.out.println(" "+fruitItem.get(i).getId()+" "+fruitItem.get(i).getName()+" "+fruitItem.get(i).getPrice()+" "+fruitItem.get(i).getUnit()+" "+number[i]+" "+price);
totalPrice+=price;
totalItem++;
totalNumber+=number[i];
if(fruitItem.get(i).getName().equals("泰国空运大榴莲"))
{
liulianNumber=number[i];
}
}
discountPrice=discount(totalPrice,liulianNumber);
System.out.println("======================================================================");
System.out.println(" "+totalItem+" 项商品 ,共计"+totalNumber+" 件");
System.out.println("总价 "+discountPrice+" 元 折扣为"+(totalPrice-discountPrice)+" 元");
totalPriceSystem.add(discountPrice);
number=null;
System.out.println(" ");
System.out.println(" ");
System.out.println(" ");
System.out.println("欢迎使用《水果超市管理系统》");
doBusiness();
}
public int discount(double totalPrice,int liulianNumber)
{
if(totalPrice>=1000&&liulianNumber>10)
{
return (int)Math.round(totalPrice*0.8-50);
}
else if(totalPrice>=1000&&liulianNumber<=10)
{
return (int)Math.round(totalPrice*0.8);
}
else if(totalPrice>=600)
{
return (int)Math.round(totalPrice*0.9);
}
else if(totalPrice>=300)
{
return (int)Math.round(totalPrice*0.95);
}
else
{
return (int)Math.round(totalPrice);
}
}
public void check()
{
System.out.println("老板、请输入您的操作:");
System.out.println("1、流水查询 2、总收入查询 3、查询货物 4、添加新货物");
System.out.println("5、删除货物 6、修改货物 7、退出查询 ");
int activity=enterNumber();
if(activity==1)
{
flowSearch();
}
else if(activity==2)
{
totalSearch();
}
else if(activity==3)
{
fruitSearch();
}
else if(activity==4)
{
fruitAdd();
}
else if(activity==5)
{
fruitDelete();
}
作者:
龙sama
时间:
2015-12-8 21:09
else if(activity==6)
{
fruitUpdate();
}
else if(activity==7)
{
System.out.println("");
System.out.println("");
System.out.println("欢迎使用《水果超市管理系统》");
doBusiness();
}
else
{
System.out.println("");
System.out.println(" 输入错误,请重新输入您的操作!");
System.out.println("");
System.out.println("欢迎使用《水果超市管理系统》");
doBusiness();
}
}
public void flowSearch()
{
System.out.println("");
System.out.println("");
System.out.println("今天共"+totalPriceSystem.size()+"笔交易");
for(int i=0;i<totalPriceSystem.size();i++)
{
System.out.println("第 "+(i+1)+"笔交易收入:"+totalPriceSystem.get(i)+" 元");
}
System.out.println("");
System.out.println("");
check();
}
public void totalSearch()
{
double totalPrice=0.0;
for(int i=0;i<totalPriceSystem.size();i++)
{
totalPrice+=totalPriceSystem.get(i);
}
System.out.println("");
System.out.println("");
System.out.println("今天总收入 "+totalPrice+" 元");
System.out.println("");
System.out.println("");
check();
}
public void fruitSearch()
{
System.out.println("");
System.out.println("");
showFruitList();
System.out.println("");
System.out.println("");
check();
}
public void fruitAdd()
{
Fruit newfruit=new Fruit();
System.out.println("请输入水果名称");
newfruit.setName(sc.next());
System.out.println("请输入水果编号");
newfruit.setId(sc.next());
System.out.println("请输入水果单价");
newfruit.setPrice(sc.nextDouble());
System.out.println("请输入计价单位");
newfruit.setUnit(sc.next());
fruitItem.add(newfruit);
fruitSearch();
}
public void fruitDelete()
{
System.out.println("");
showFruitList();
System.out.println("");
System.out.println("请输入要删除的水果编号(或者输入no返回):");
String deleteId=sc.next();
boolean ifexist=false;
if(deleteId.equals("no"))
{
check();
}
for(int i=0;i<fruitItem.size();i++)
{
if(fruitItem.get(i).getId().equals(deleteId))
{
ifexist=true;
}
}
if(ifexist==true)
{
fruitdelete:for(int i=0;i<fruitItem.size();i++)
{
if(fruitItem.get(i).getId().equals(deleteId))
{
fruitItem.remove(i);
break fruitdelete;
}
}
System.out.println("删除完毕!!!");
showFruitList();
System.out.println("");
check();
}
else
{
System.out.println("水果编号输入错误,请重新输入:");
fruitDelete();
}
}
public void fruitUpdate()
{
System.out.println("");
showFruitList();
System.out.println("");
System.out.println("请输入要修改信息的水果编号(或者输入no返回):");
String deleteId=sc.next();
boolean ifexist=false;
if(deleteId.equals("no"))
{
check();
}
for(int i=0;i<fruitItem.size();i++)
{
if(fruitItem.get(i).getId().equals(deleteId))
{
ifexist=true;
}
}
if(ifexist==true)
{
fruitdelete:for(int i=0;i<fruitItem.size();i++)
{
if(fruitItem.get(i).getId().equals(deleteId))
{
System.out.println("您要修改的水果项目为:");
System.out.println("水果编号 水果名称 水果单价 计价单位 ");
System.out.println(" "+fruitItem.get(i).getId()+" "+fruitItem.get(i).getName()+" "+fruitItem.get(i).getPrice()+" "+fruitItem.get(i).getUnit());
System.out.println("==============================================================");
System.out.println("请输入新的水果名称");
fruitItem.get(i).setName(sc.next());
System.out.println("请输入新的水果编号");
fruitItem.get(i).setId(sc.next());
System.out.println("请输入新的水果单价");
fruitItem.get(i).setPrice(sc.nextDouble());
System.out.println("请输入新的计价单位");
fruitItem.get(i).setUnit(sc.next());
}
}
System.out.println("修改完毕!!!");
showFruitList();
System.out.println("");
check();
}
else
{
System.out.println("水果编号输入错误,请重新输入:");
fruitUpdate();
}
}
int enterNumber()
{
int i=sc.nextInt();
return i;
}
String enterString()
{
String i=sc.next();
return i;
}
double enterDouble()
{
double i=sc.nextDouble();
return i;
}
}
class Fruit
{
private String name;
private String id;
private double price;
private String unit;
Fruit()
{
}
Fruit(String name,String id,double price,String unit)
{
this.name=name;
this.id=id;
this.price=price;
this.unit=unit;
}
void setName(String name)
{
this.name=name;
}
String getName()
{
return this.name;
}
void setId(String id)
{
this.id=id;
}
String getId()
{
return this.id;
}
void setPrice(double price)
{
this.price=price;
}
double getPrice()
{
return this.price;
}
void setUnit(String unit)
{
this.unit=unit;
}
String getUnit()
{
return this.unit;
}
}
作者:
bbaijiajinger
时间:
2015-12-8 21:22
牛人啊
同样是基础班差距怎么那么大呢
应为我写不出来
作者:
Rocky_zhang
时间:
2015-12-8 22:07
牛呀。同样都学了,我就写不出开,差距呀
作者:
xiaoaonuanhu
时间:
2015-12-8 23:10
厉害厉害,这么就写出来了,我也写不出来。
作者:
阳光下的枫叶
时间:
2015-12-8 23:20
加油,黑马!明天属于你!
作者:
阳光下的枫叶
时间:
2015-12-8 23:35
不错!!!!!!!
作者:
仙风道骨
时间:
2015-12-9 00:46
不错不错
作者:
554512097
时间:
2015-12-9 00:54
赞一个...........
作者:
潘中辉
时间:
2015-12-9 01:22
学习一下!!!
作者:
蔡泽杰
时间:
2015-12-9 17:53
膜拜下{:2_42:}{:2_42:}
作者:
高云
时间:
2015-12-9 18:08
厉害。。赞
作者:
梦我天堂
时间:
2015-12-9 18:11
我还没有学到EE
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2