初学java,还不太熟悉,技术有限,多多包涵,哈哈。
水果超市 包括以下功能:
1.添加水果0.退出
下面是我的包及类的构造:
代码展示:
package com.gem.fruit.entity;
public class Fruit {
private int fruitID;
private String name;
private double price;
private int count;
private String address;
public int getFruitID() {
return fruitID;
}
public void setFruitID(int fruitID) {
this.fruitID = fruitID;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Fruit() {
super();
// TODO Auto-generated constructor stub
}
public Fruit(int fruitID, String name, double price, int count, String address) {
super();
this.fruitID = fruitID;
this.name = name;
this.price = price;
this.count = count;
this.address = address;
}
@Override
public String toString() {
return "Fruit [fruitID=" + fruitID + ", name=" + name + ", price=" + price + ", count=" + count + ", address="
+ address + "]";
}
}
package com.gem.fruit.entity;
public class User {
private int userId;
private String userName;
private String userPassword;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public User(int userId,String userName, String userPassword) {
super();
this.userId=userId;
this.userName = userName;
this.userPassword = userPassword;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((userName == null) ? 0 : userName.hashCode());
result = prime * result + ((userPassword == null) ? 0 : userPassword.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
if (userName == null) {
if (other.userName != null)
return false;
} else if (!userName.equals(other.userName))
return false;
if (userPassword == null) {
if (other.userPassword != null)
return false;
} else if (!userPassword.equals(other.userPassword))
return false;
return true;
}
public User() {
super();
User user=new User(10001,"admin","123456");
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "User [userId="+userId+",userName="+userName+",userPassword="+userPassword+"]";
}
}
package com.gem.fruit.entity;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class Cart {
private Map
public void addCart(Item item) {
if(maps.size()>0) {
Set
boolean b=false;
for(Integer i:ids) {
if(i.equals(item.getFruit().getFruitID())) {
Item it=maps.get(i);
it.setBuyCount(it.getBuyCount()+item.getBuyCount());
it.setAllPrice(it.getAllPrice()+item.getAllPrice());
maps.put(i, it);
b=true;
break;
}
}if(!b) {
maps.put(item.getFruit().getFruitID(), item);
}
}else {
maps.put(item.getFruit().getFruitID(), item);
}
}
public void showCart() {
if(maps.size()>0) {
double allPrice=0;
System.out.println("商品名称\t"+"商品单价\t"+"购买数量\t"+"总价格\t");
Collection
for(Item i:items) {
System.out.println(i.getFruit().getName()+"\t"+i.getFruit().getPrice()+"\t"+i.getBuyCount()+"\t"+i.getAllPrice());
allPrice+=i.getAllPrice();
}
System.out.println("\t\t总价格是:"+allPrice);
}else {
System.out.println("购物车没有商品,赶紧去买买买买");
}
}
}
package com.gem.fruit.entity;
public class Item {
private Fruit fruit;
private int buyCount;
private double allPrice;
public Fruit getFruit() {
return fruit;
}
public void setFruit(Fruit fruit) {
this.fruit = fruit;
}
public int getBuyCount() {
return buyCount;
}
public void setBuyCount(int buyCount) {
this.buyCount = buyCount;
}
public double getAllPrice() {
return allPrice;
}
public void setAllPrice(double allPrice) {
this.allPrice = allPrice;
}
public Item() {
super();
// TODO Auto-generated constructor stub
}
public Item(Fruit fruit, int buyCount, double allPrice) {
super();
this.fruit = fruit;
this.buyCount = buyCount;
this.allPrice = allPrice;
}
}
package com.gem.fruit.dao;
import com.gem.fruit.entity.User;
public interface IUserDao {
boolean Login(User user);
void register(User user);
}
package com.gem.fruit.dao;
import com.gem.fruit.entity.User;
public class UserImpl implements IUserDao{
static User users []=new User[10];
static int index=0;
public UserImpl() {
User u=new User(101,"admin","123");
users[index++]=u;
}
@Override
public boolean Login(User user) {
if(user==null) {
return false;
}
for(int i=0;i
return true;
}
}
return false;
}
@Override
public void register(User user) {
if(index==users.length) {
User newArry[]=new User[users.length];
for(int i=0;i
}
users=newArry;
users[index++]=user;
}else {
users[index++]=user;
}
}
}
package com.gem.fruit.dao;
import java.util.List;
import com.gem.fruit.entity.Fruit;
public interface IFruitDao {
public void add(Fruit fruit);
public List
public Fruit queryFruitById(int id);
public void removeFruit(int id);
public void modifyFruitByNum(Fruit fruit);
}
package com.gem.fruit.dao;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.gem.fruit.entity.Fruit;
public class FruitDaoImpl implements IFruitDao{
List
int index=0;
@Override
public void add(Fruit fruit) {
fs.add(fruit);
}
@Override
public List
return fs;
}
@Override
public Fruit queryFruitById(int id) {
for(Fruit f:fs) {
if(f.getFruitID()==id) {
return f;
}
}
return null;
}
@Override
public void removeFruit(int id) {
for(Fruit f:fs) {
if(f.getFruitID()==id) {
fs.remove(f);
break;
}
}
}
public void modifyFruitByNum(Fruit fruit) {
for(Fruit f:fs) {
if(f.getFruitID()==fruit.getFruitID()) {
fs.remove(f);
break;
}
}
fs.add(fruit);
}
}
package com.gem.fruit.main;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import com.gem.fruit.dao.FruitDaoImpl;
import com.gem.fruit.dao.IFruitDao;
import com.gem.fruit.dao.IUserDao;
import com.gem.fruit.dao.UserImpl;
import com.gem.fruit.entity.Cart;
import com.gem.fruit.entity.Fruit;
import com.gem.fruit.entity.Item;
import com.gem.fruit.entity.User;
public class mainApp {
static IUserDao ud=new UserImpl();
static IFruitDao fd=new FruitDaoImpl();
static Scanner sc=new Scanner(System.in);
static mainApp ma=new mainApp();
Cart cart=new Cart();
int count;
public static void main(String[] args) {
System.out.println("请选择操作:(登录(L)注册(R))");
String op=sc.next();
if("R".equals(op)) {
ma.register();
System.out.println("注册成功,请登录");
ma.loginCl();
ma.operator();
}else if("L".equals(op)){
ma.loginCl();
ma.operator();
}else {
System.out.println("输入错误系统退出");
System.exit(0);
}
}
public void operator() {
Scanner sc=new Scanner(System.in);
while(true) {
showMenu();
System.out.println("请输入您要进行的操作");
String op=sc.next();
switch (op) {
case "1":
ma.addFruit(sc);
ma.showFruit();
break;
case "2":
ma.showFruit();
break;
case "3":
System.out.println("请输入水果编号");
String num=sc.next();
ma.showFruitByNum(num);
break;
case "4":
System.out.println("请输入水果编号:");
String num2=sc.next();
ma.removeFruit(num2);
ma.showFruit();
break;
case "5":
ma.showFruit();
System.out.println("请输入所要购买的水果的编号:");
num=sc.next();
System.out.println("请输入购买数量:");
int count=sc.nextInt();
ma.addCart(Integer.parseInt(num), count);
break;
case "6":
cart.showCart();
break;
case "7":
ma.showFruit();
ma.modifyFruit();
ma.showFruit();
break;
case "0":
System.out.println("退出系统,欢迎下次再来,拜拜");
System.exit(0);
break;
default:
System.out.println("输入错误,退出系统");
System.exit(0);
break;
}
}
}
public void register() {
System.out.println("请输入id");
int id=sc.nextInt();
System.out.println("请输入名字");
String name=sc.next();
System.out.println("请输入密码");
String password=sc.next();
User user=new User(id,name,password);
ud.register(user);
}
public boolean login() {
System.out.println("请输入名字");
String name=sc.next();
System.out.println("请输入密码");
String password=sc.next();
User user=new User(0,name,password);
return ud.Login(user);
}
public void addFruit(Scanner sc) {
System.out.println("请输入水果编号");
int fruitId=sc.nextInt();
System.out.println("请输入水果名字");
String fruitName=sc.next();
System.out.println("请输入水果价格");
double fruitPrice=sc.nextDouble();
System.out.println("请输入水果库存");
int fruitCount=sc.nextInt();
System.out.println("请输入水果产地");
String fruitAddress=sc.next();
Fruit fruit=new Fruit(fruitId,fruitName,fruitPrice,fruitCount,fruitAddress);
fd.add(fruit);
}
public void showFruitByNum(String num) {
Fruit f = fd.queryFruitById(Integer.parseInt(num));
if(f != null) {
System.out.println("编号\t"+"名称\t"+"价格\t"+"库存\t"+"产地\t");
System.out.println(f.getFruitID()+"\t"+f.getName()+"\t"+f.getPrice()+"\t"+f.getCount()+"\t"+f.getAddress());
} else {
System.out.println("此水果不存在。。。。。。");
}
}
public void showFruit() {
List
if(f.isEmpty()) {
System.out.println("超市里没有水果信息");
}else {
System.out.println("水果编号\t"+"水果名字\t"+"水果价格\t"+"水果库存\t"+"水果产地\t");
for(Fruit fruit:f) {
System.out.println(fruit.getFruitID()+"\t"+fruit.getName()+"\t"+fruit.getPrice()+"\t"+fruit.getCount()+"\t"+fruit.getAddress());
}
}
}
public void removeFruit(String num) {
fd.removeFruit(Integer.parseInt(num));
}
public void showMenu() {
System.out.println("===============");
System.out.println("1.添加水果");
System.out.println("2.显示水果");
System.out.println("3.根据编号查询水果");
System.out.println("4.删除水果");
System.out.println("5.添加购物车");
System.out.println("6.查看购物车");
System.out.println("7.根据编号修改水果");
System.out.println("0.退出");
System.out.println("=================================");
}
public void addCart(int num,int count) {
Fruit f=fd.queryFruitById(num);
Item item=new Item();
item.setFruit(f);
item.setBuyCount(count);
item.setAllPrice(f.getPrice()*count);
cart.addCart(item);
}
public void modifyFruit() {
System.out.println("请输入需要修改的水果的编号:");
String num3=sc.next();
Fruit f=fd.queryFruitById(Integer.parseInt(num3));
if(f==null) {
System.out.println("没有此水果。。。");
}else {
System.out.println("请输入要修改的信息");
System.out.println("请输入水果名称:");
String name=sc.next();
System.out.println("请输入水果库存:");
int count2=sc.nextInt();
System.out.println("请输入水果价格:");
double price=sc.nextDouble();
System.out.println("请输入水果产地:");
String address=sc.next();
f.setAddress(address);
f.setCount(count2);
f.setName(name);
f.setPrice(price);
fd.modifyFruitByNum(f);
}
}
public void loginCl() {
boolean f=ma.login();
while(!f) {
System.out.println("请重新登录");
if(count==1) {
System.out.println("三次机会已用完,退出系统");
count=0;
System.exit(0);
}
f=ma.login();
count++;
}
}
}