简易的购物系统
稍有功能尚未完善,如能帮助还望联系指教,谢谢!
本人初学者小白一位!
商店制作要求
1.用户的登录或新用户的成功注册
至少存在三个用户可直接登录以及可注册使用
2.商品的简洁罗列
包括商品序号、名称、价格、数量
3.购物车的正常使用
货物的增添、修改、结账
4.输出订单信息并完成地址填写和付款成功
打印随机11位订单编号还有购物车所选商品信息以及用户的个人信息
付款成功后结束程序运行
用户登录
1.主界面(选择)
2.用户登录界面(验证用户信息)
3.用户注册界面
4.登录成功进入购物界面(商品选择)
用户基础信息
封装初始化Prototype
import java.util.Scanner;
import java.io.*;
public class Prototype implements Serializable{
//创建用户信息类型进行初始化
// 1、定义以下成员变量:
// * 账号类型:String Type
// * 账户号:String No
// * 账户密码:String passWord
// * 账户姓名:String Name
// * 账户联系方式:String phoneNo
// * 账户地址:String location
// * 所需余额:double balance
private String type;
private String No;
private String passWord;
private String Name;
private String phoneNo;
private String location;
private double balance;
static int count=0;
static final Scanner scanner = new Scanner(System.in);
public Prototype() {
// count++;
// No = String.format("NO.%04d", count); //账号自动生成为"NO.0001"的格式
}
Prototype person[] = new Prototype[20];
// public String getType() {
// return type;
// }
public String getNo() {
return No;
}
public String getName() {
return Name;
}
public String getPassWord() {
return passWord;
}
public String getPhoneNo() {
return phoneNo;
}
public String getLocation() {
return location;
}
public Prototype(String type,String No,String passWord,
String Name,String phoneNo,String location,double balance) {
this.setType("VIP");
this.setNo(No);
this.setName(Name);
this.setPassWord(passWord);
this.setPhoneNo(phoneNo);
this.setLocation(location);
this.setBalance(balance);
}
// public void setType(String type) {
// this.type=type;
// }
public void setPrototype(String type,String No,String passWord,
String Name,String phoneNo,String location,double balance) {
this.setType("VIP");
this.setNo(No);
this.setName(Name);
this.setPassWord(passWord);
this.setPhoneNo(phoneNo);
this.setLocation(location);
this.setBalance(balance);
}
public void setPassWord(String No, String passWord) {
this.setNo(No);
this.passWord = passWord;
}
public void printIn() {
System.out.println("---------------------");
System.out.println("账号类型:" + this.getType());
System.out.println("用户账号:" + this.getNo());
System.out.println("用户名称:" + this.getName());
System.out.println("手机号码:" + this.getPhoneNo());
System.out.println("收货地址:" + this.getLocation());
System.out.println("用户余额:" + this.getBalance());
System.out.println("---------------------");
}
public String getType() {
return "VIP";
}
public void setType(String type) {
this.type = "VIP";
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
public void setLocation(String location) {
this.location = location;
}
public void setName(String name) {
this.Name = name;
}
public void setNo(String no) {
this.No = no;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public void setPhoneNo(String phoneNo) {
this.phoneNo = phoneNo;
}
byte[] bytes ;
public byte[] getBytes() {
// TODO Auto-generated method stub
return bytes;
}
public void setBytes(byte[] bytes) {
this.bytes = bytes;
}
}
用户登录代码
LoginTest
import java.util.ArrayList;
import java.util.Scanner;
import java.io.*;
import java.lang.*;
import java.lang.invoke.*;
//* 简易的购物系统
//*
//* 1.主界面(选择)
//* 2.用户登录界面(验证用户信息)
//* 3.用户注册界面
//* 4.登录成功进入购物界面(商品选择)
//*
//*/
public class LoginTest extends Prototype {
//定义创建用户组
int p = 3;
static int u = 3;
public static final int SIZE = 100;
static LoginTest[] person;
public LoginTest(String type,String No,String passWord,
String Name,String phoneNo,String location,double balance) {//继承Prototype类初始化
super();
this.setType("VIP");
this.setBalance(balance);
this.setLocation(location);
this.setName(Name);
this.setNo(No);
this.setPassWord(passWord);
this.setPhoneNo(phoneNo);
}
public void setU(int u) {
LoginTest.u = u;
}
public int getU() {
return u;
}
public LoginTest() {
// ArrayList<Prototype[]> user = new ArrayList<Prototype[]>();
person = new LoginTest[100];
person[0] = new LoginTest("VIP","4171","123456","唐准理事","1008611",
"ID名",1000000.0);
person[1] = new LoginTest("VIP","4172","123456","留灯一盏","1008611",
"ID名",1000000.0);
person[2] = new LoginTest("VIP","4173","123456","黄准理事","1008611",
"ID名",1000000.0);
person[3] = new LoginTest("VIP","4174","123456","黄部长","1008611",
"ID名",1000000.0);
// user.add(person);
}
// void play() {
// for(int i = 0;i< u;i++) {
// person[i].printIn();
// }
// }
void Information() {//输出当前的用户信息,用于订单发货
System.out.println("----------------------------------");
// System.out.println(u);
person[u].printIn();
System.out.println("----------------------------------");
}
public void login() {//覆写login的登录方法
Scanner input = new Scanner(System.in);
setBalance(100000.00);
System.out.println("请输入用户号:");
String no = scanner.next();
System.out.println("请输入密码:");
String password = scanner.next();
//验证已有用户信息验证
for(int i = 0; i < p; i++) {
if(no.equals(person[i].getNo())&&password.equals(person[i].getPassWord())){
System.out.println("登录成功!");
setU(i);
person[u].printIn();
// readFromTxt();
enter();
break;
}else if(i == p-1){
System.out.println("输入的用户名或密码有误!");
System.out.println("请重新输入:");
login();
}
}
input.close();
//
}
void enter() {
System.out.println("------------------------");
System.out.println(" 欢迎进入小卖部哟! ");
System.out.println("------------------------");
System.out.println(" ");
System.out.println("| 0...退出商店 |");
System.out.println("| 1...查看商品 |");
System.out.println("| 2...查找商品 |");
System.out.println(" ");
System.out.println("------------------------");
System.out.print("请输入选项:");
int c1 = 4;
while(c1 != 0 || c1 != 1) {//检测错误不会报错,而是返回重新进行输入
c1 = scanner.nextInt();
switch(c1) {
case 0:
System.out.println("成功退出商店!");
c1 = 0;
break;
case 1:
new Shopping().opt();
c1 = 0;
break;
case 2:
new Shopping().findGoods();
break;
default:
System.out.println("输入非法,请重新输入!");
}
if(c1 == 0)
break;
}
}
void registration() throws IOException { //账户注册
int c = 1;
do {
System.out.println("请创建喜欢的用户名:");
String name = scanner.next();
System.out.println("请创建用户号:");
String no = scanner.next();
System.out.println("请输入密码:");
String passWord = scanner.next();
System.out.println("请输入您想成为的账户类型:VIP(自动生成)");
String type = "VIP";
System.out.println("请输入您的手机号码:");
String phoneNo = scanner.next();
System.out.println("请输入收货地址:");
String location = scanner.next();
System.out.println("请输入您的身家:");
double balance = scanner.nextDouble();
Prototype prototype;
prototype = new LoginTest(type,no,passWord,name,phoneNo,location,balance);
//信息登记好后进入数组储存
person[p] = (LoginTest) prototype;
person[p].setPrototype(type, no, passWord, name, phoneNo, location, balance);
// person[p].printIn();
// System.out.println(p);
p++;
System.out.println("即将返回登录...");
login();//创建完毕返回登录界面进行登录使用
c = 0;
}while(c!=0);
// String type,String No,String passWord,String Name,String phoneNo,String location,double balance
}
public static void readFromTxt() throws Exception {
String filename = "D:/EVO/Group assignments/src/User.txt";
File file = new File(filename);
if(file.exists()) {
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(filename);
ObjectOutputStream oos = new ObjectOutputStream(fos);
LoginTest person[];
person = new LoginTest[100];
person[0] = new LoginTest("VIP","4171","123456","唐准理事","1008611",
"ID名",1000000.0);
person[1] = new LoginTest("VIP","4172","123456","留灯一盏","1008611",
"ID名",1000000.0);
person[2] = new LoginTest("VIP","4173","123456","黄准理事","1008611",
"ID名",1000000.0);
person[3] = new LoginTest("VIP","4174","123456","黄部长","1008611",
"ID名",1000000.0);
for(int i= 0;i < 4;i++) {
System.out.println("序列化前:" + person[i]);
}
for(int i = 0;i < 4;i++) {
oos.writeObject(person[i]); //将LoginTest对象序列化成字节数组并写入到文件中
oos.flush();
}
oos.close();
//讲对象写入文件中
FileInputStream fis = new FileInputStream(filename);//文件输入流
ObjectInputStream ois = new ObjectInputStream(fis);//对象输入流
person = (LoginTest[]) ois.readObject();//从文件中读取数据并反序列化未L对象
for(int i = 0; i < 4;i++) {
System.out.println("反序列化后:" + person[i]);
}
ois.close();
}
}
商品信息初始化
Commodity
import java.util.Scanner;
public abstract class Commodity {
// 定义商品成员变量
// *商品序号:String ComNo 账户数量初始化为0。
// *商品名称:String CommodityName
// *商品价格:double price
// *商品数量:int amt
// static int count=0
int ComNo;
String ComName;
double price;
int amt;
double endBalance;
static int count=0;
static final Scanner scanner = new Scanner(System.in);
public Commodity() {
// count++;
// ComNo = String.format("NO.%04d", count); //账号自动生成为"NO.0001"的格式
}
//抽象方法
abstract void opt();//购物车选择方法
//成员初始化
public Commodity(String ComName,int ComNo,double price,int amt){
this.ComNo = ComNo;
this.ComName = ComName;
this.price = price;
this.amt = amt;
}
public int getComNo() {
return ComNo;
//商品序号
}
public String getComName() {
return ComName;
//商品名称
}
public double getPrice() {
return price;
}
public int getAmt() {
return amt;
//商品数量
}
public void setAmt(int amt) {
this.amt = amt;
}
public void setCommodity(int ComNo,String ComName,double price,int amt){
this.ComNo = ComNo;
this.ComName = ComName;
this.price = price;
this.amt = amt;
}
public void printOneLine() {
System.out.println(ComNo + "\t" + ComName + "\t"
+ price + "\t\t" + amt);
}
public void printList() {
System.out.println(this.ComNo + "\t\t" + this.ComName + "\t\t" + this.price
+ "\t\t" + this.amt + "\t\t" + this.endBalance);
}
}
商店的正常运行
Shopping
import java.util.Scanner;
import java.lang.invoke.*;
public class Shopping extends Commodity {
// static int count=0;
// public Shopping(String ComNo ,String ComName, double price, int amt) {
// super();
// count++;
// ComNo = String.format("NO.%04d", count); //账号自动生成为"NO.0001"的格式
// }
Commodity ShoppingGoods[] = new Commodity[100];
Commodity goods[] = new Commodity[100];
int c1 = 1; //方法opt循环条件
int k = 0; // 添加商品所用变量
int count = 13; //已有商品数量
int SCount = 1; //购物车已选择数量
double balance1;
double endBalance;
// static Prototype[] person;
LoginTest Prototype[];
public Shopping(){
goods[0] = new Shopping( 1,"Hua电脑 ",8999.0,100);
goods[1] = new Shopping( 2,"IPHONE ",5999.0,100);
goods[2] = new Shopping(3,"Le笔记本电脑",5999.0,100);
goods[3] = new Shopping( 4,"D电脑 ",6999.0,100);
goods[4] = new Shopping( 5,"LV包子 ",5999.0,100);
goods[5] = new Shopping( 6,"迪奥特曼口红 ",999.0,100);
goods[6] = new Shopping( 7,"克拉奇怪口红 ",59.0,100);
goods[7] = new Shopping( 8,"满天星花 ",9.9,100);
goods[8] = new Shopping( 9,"绿色妇联鼠标 ",99.0,100);
goods[9] = new Shopping( 10,"青岛小麦果汁 ",6.0,100);
goods[10] = new Shopping( 11,"江西黄色酒液 ",199.0,100);
goods[11] = new Shopping( 12,"罗技鼠标 ",99.9,100);
goods[12] = new Shopping( 13,"定制照片墙 ",39.9,100);
goods[13] = new Shopping( 14,"一包盐 ",2.0,2000);
}
//初始化变量
public Shopping(int ComNo,String ComName,double price,int amt) {
super();
this.ComNo = ComNo;
this.ComName = ComName;
this.price = price;
this.amt = amt;
}
//生成订单随机数字
public static char[] getRandom(int num) {
String chars = "0123456789";
char[] rands = new char[num];
for (int i = 0; i < num; i++) {
int rand = (int) (Math.random() * 10);
rands[i] = chars.charAt(rand);
}
return rands;
}
void admin() {//已有商品管理菜单
int adminChioce = -1;
while(adminChioce != 0) {
System.out.println("请输入管理员账号:");
String adNo = scanner.next();
System.out.println("请输入管理员密码:");
String adPassWord = scanner.next();
// 管理员登录限制次数
if(adNo.equals("adminadmin") && adPassWord.equals("adminadmin")) {
adminMenu();
}else {
System.out.println("输入非法!请重新输入!");
}
}
}
void goodsDisplay() { // 已有商品的展示
System.out.println("----------------------------------");
System.out.println(" ");
System.out.println("序号" + "\t" + "名称" + "\t\t" + "价格¥" + "\t\t" + "数量");
for(int i =0;i < count;i++) {
goods[i].printOneLine();
}
System.out.println(" ");
System.out.println("----------------------------------");
System.out.println(" ");
}
void SCDisplay() { //购物车展示
System.out.println("序号" + "\t" + "名称" + "\t\t" + "价格¥" + "\t\t" + "数量");
for(int i = 1; i <= k;i++) {
ShoppingGoods[i].printOneLine();
}
}
void addCommodity() { // 增加货物
if(count < 100) {
count++;
int no = count;
System.out.println("请输入增加商品的名称:");
String name = scanner.next();
System.out.println("请输入商品的价格:");
double price = scanner.nextDouble();
System.out.println("请输入拥有商品的数量:");
int num = scanner.nextInt();
goods[count] = new Shopping(no,name,price,num);
System.out.println("成功添加商品:");
System.out.println("序号" + "\t" + "名称" + "\t\t" + "价格¥" + "\t\t" + "数量");
goods[count].printOneLine();
System.out.println("---------------------");
System.out.println(" ");
System.out.println("| 1...继续添加 |");
System.out.println("| 2...查看商品 |");
System.out.println("| 0...退出添加 |");
System.out.println(" ");
System.out.println("---------------------");
int adminChoice = 4;
//输入程序开始运行
while(adminChoice != 0 || adminChoice != 1
|| adminChoice != 2 ) {
adminChoice = scanner.nextInt();
switch(adminChoice){
case 0:
System.out.println("即将回到管理页面...");
admin(); //进入管理页面
break;
case 1:
addCommodity(); //增加新的商品
adminChoice = 0;
break;
case 2:
goodsDisplay(); //商品信息展示
adminChoice = 0;
break;
default:
System.out.println("输入非法,请重新输入!");
}
if(adminChoice == 0)
break;
}
}else {
System.out.println("");
System.out.println("请先清清货再添加吧,你这小房间塞不下了哥哥!");
System.out.println("");
System.out.println("即将回到管理页面...");
admin(); //进入管理页面
}
}
void revise() { //修改货物信息
goodsDisplay();
int chioce = -1;
while(chioce != 0) {
System.out.println("请输入需要修改的商品序号:(输入“0”退出修改)");
chioce = scanner.nextInt();
if(chioce == 0) {
System.out.println("即将回到管理页面...");
admin(); //进入管理页面
break;
}else if(chioce <= count) {
int noOld = goods[chioce-1].getComNo(); //获得商品信息,后面类比
String nameOld = goods[chioce-1].getComName();
double priceOld = goods[chioce-1].getPrice();
int numOld = goods[chioce-1].getAmt();
scanner.nextLine();//释放前一个回车
System.out.println("这是你想要修改的商品:");
goods[chioce-1].printOneLine(); //显示选择商品信息
System.out.println("请输入新商品名(直接回车保持不变):");
String name = scanner.next();
name = nameOld.isEmpty() ? nameOld : name; //判断修改,后面类比
scanner.nextLine();//释放前一个回车
System.out.println("请输入新价格(直接回车保持不变):");
String strPrice = scanner.nextLine();
double price = strPrice.isEmpty()? priceOld : Double.valueOf(strPrice).doubleValue();
scanner.nextLine();//释放前一个回车
System.out.println("请输入新数量(直接回车保持不变):");
String strNum = scanner.nextLine();
double num = strNum.isEmpty()? numOld : Double.valueOf(strNum).intValue();
scanner.nextLine();//释放前一个回车
numOld = (int)num;
goods[chioce-1].setCommodity(noOld, name, price, numOld); //重新设置商品信息
System.out.println("修改成功");
goods[chioce-1].printOneLine(); //显示选择的商品信息
System.out.println("---------------------");
System.out.println(" ");
System.out.println("| 1...继续修改 |");
System.out.println("| 2...查看商品 |");
System.out.println("| 0...退出修改 |");
System.out.println(" ");
System.out.println("---------------------");
int adminChoice = 3;
//输入程序开始运行
while(adminChoice != 0 || adminChoice != 1
|| adminChoice != 2 ) {
adminChoice = scanner.nextInt();
switch(adminChoice){
case 0:
System.out.println("即将回到管理页面...");
admin(); // 回到管理页面
break;
case 1:
revise(); //进入商品信息修改
adminChoice = 0;
break;
case 2:
goodsDisplay(); //商品信息展示
adminChoice = 0;
break;
default:
System.out.println("输入非法,请重新输入!");
}
if(adminChoice == 0)
break;
}
}else {
System.out.println("");
System.out.println("商品不存在或输入指令有误,你确定这家店是你的?");
System.out.println("");
System.out.println("即将回到管理页面...");
admin(); //回到管理页面
}
}
}
void deleteGoods() {//删除已有商品
goodsDisplay();
System.out.println("请输入想要删除的商品序号:");
System.out.println("输入“0”退出商品删除");
int no = -1;
while(no!=0) {
no = scanner.nextInt();
if(no == 0) {
break;
}else {
if(no <= count && no > 0) {
for(int j = no;j < count-1;j++) {
goods[j] = goods[j+1]; //删除商品,后续进制
}
count--;
System.out.println("删除成功!");
System.out.println("---------------------");
System.out.println(" ");
System.out.println("| 1...继续删除 |");
System.out.println("| 2...查看商品 |");
System.out.println("| 0...退出修改 |");
System.out.println(" ");
System.out.println("---------------------");
int adminChoice = 3;
//输入程序开始运行
while(adminChoice != 0 || adminChoice != 1
|| adminChoice != 2 ) {
adminChoice = scanner.nextInt();
switch(adminChoice){
case 0:
System.out.println("即将回到管理页面...");
admin(); //进入管理页面
break;
case 1:
deleteGoods(); //进入商店删除商品
adminChoice = 0;
break;
case 2:
goodsDisplay(); //商品货物展示
adminChoice = 0;
break;
default:
System.out.println("输入非法,请重新输入!");
}
if(adminChoice == 0)
break;
}
}else
System.out.println("输入有误!请重新输入!");
}
}
}
void deleteSC() { //删除购物车里的商品
System.out.println("购物车已有商品:");
SCDisplay();
System.out.println("请输入想要删除的商品序号:");
System.out.println("输入“-1”一键清除购物车");
System.out.println("输入“0”退出商品删除");
int no = -2;
while(no!=0) {
no = scanner.nextInt();
if(no == 0) {
System.out.println("输入“1”结账发货....");
System.out.println("输入“2”继续选择商品");
System.out.println("输入“3”删除购物车商品");
break;
}else if(no == -1){
for(int i = 0;i < SCount-1;i++) {
ShoppingGoods[i] = null; //一键清除所有购物车商品
}
System.out.println("删除成功!");
System.out.println("即将回到购物商品页面...");
opt();
}else {
if(no <= SCount && no > 0) {
for(int j = no;j < SCount-1;j++) {
ShoppingGoods[j] = ShoppingGoods[j+1]; //购物车商品删除后续商品进制
ShoppingGoods[j].ComNo = ShoppingGoods[j].ComNo - 1;
}
ShoppingGoods[SCount - 1] = null;
k--;
SCount--;
System.out.println("删除成功!");
System.out.println("---------------------");
System.out.println(" ");
System.out.println("| 1...继续删除 |");
System.out.println("| 2...查看购物车 |");
System.out.println("| 0...退出修改 |");
System.out.println(" ");
System.out.println("---------------------");
int adminChoice = 3;
//输入程序开始运行
while(adminChoice != 0 || adminChoice != 1
|| adminChoice != 2 ) {
adminChoice = scanner.nextInt();
switch(adminChoice){
case 0:
System.out.println("即将回到购物商品页面...");
opt(); //进入商品选择
break;
case 1:
deleteSC(); //删除购物车商品
adminChoice = 0;
break;
case 2:
SCDisplay(); //购物车展示
System.out.println("请输入想要删除的商品序号:");
System.out.println("输入“-1”一键清除购物车");
System.out.println("输入“0”退出商品删除");
adminChoice = 0;
break;
default:
System.out.println("输入非法,请重新输入!");
}
if(adminChoice == 0)
break;
}
}else
System.out.println("输入有误!请重新输入!");
}
}
}
void reviseSC() {//修改购物车商品数量
System.out.println("购物车已有商品:");
SCDisplay();
System.out.println("请输入想要修改的商品序号:");
System.out.println("输入“0”退出商品修改");
int c = -1;
while(c != 0) {
c = scanner.nextInt();
if(c == 0)
break;
else if(c > 0 && c <= SCount){
System.out.println("请输入想要的商品数量:");
int RC = scanner.nextInt();
ShoppingGoods[c].setAmt(RC); //重新设置购物车商品数量
System.out.println("修改成功!");
System.out.println("---------------------");
System.out.println(" ");
System.out.println("| 1...继续修改 |");
System.out.println("| 2...查看购物车 |");
System.out.println("| 0...退出修改 |");
System.out.println(" ");
System.out.println("---------------------");
int adminChoice = 3;
//输入程序开始运行
while(adminChoice != 0 || adminChoice != 1
|| adminChoice != 2 ) {
adminChoice = scanner.nextInt();
switch(adminChoice){
case 0:
System.out.println("即将回到购物商品页面...");
opt(); //进入商品选择
break;
case 1:
reviseSC(); //调用购物车信息修改
adminChoice = 0;
break;
case 2:
SCDisplay(); //购物车信息展示
adminChoice = 0;
break;
default:
System.out.println("输入非法,请重新输入!");
}
}
}else
System.out.println("输入有误!请重新输入!");
}
}
void opt() {//商品选择
goodsDisplay(); //商品信息展示
System.out.println("请输入商品序号:");
System.out.println("输入“0”查看订单信息");
if(c1!=0) {
while( c1 != 0 ) {
int c2 = scanner.nextInt();
if(c2 == 0) {
ordersDisplay(); //订单信息展示
break;
}else if(c2 < 14&&c2>0){ //判断输入是否在商店范围内
String ComName = goods[c2-1].ComName;
int ComNo = SCount;
SCount++; //购物车数量自增1
double price = goods[c2-1].price;
System.out.println(" ");
System.out.println("请输入需要的商品数量:");
int amt1 = scanner.nextInt();
if(amt1 < goods[c2-1].amt) { //判断所需数量是否大于商店已有数量
k= k +1; //自增1,备购物车使用
c1 = c2; //重置循环使用的数字
Commodity commodity; //创建变量备购物车使用
commodity = new Shopping(ComNo,ComName,price,amt1);
ShoppingGoods[k] = commodity; //复制商品信息到购物车
int amt = goods[c2-1].getAmt(); //获得用户选择商品的数量
goods[c2-1].setAmt(amt-amt1); //用户选择商品后,商品自动减去数量
System.out.println("已选择的商品:");
System.out.println(" ");
// SCDisplay(); //购物车信息展示
System.out.println("序号" + "\t" + "名称" + "\t\t" + "价格¥" + "\t\t" + "数量");
for(int i = 1; i <= k;i++) {
ShoppingGoods[i].printOneLine();
}
// goods[c2-1].printOneLine();
balance1 = ShoppingGoods[k].amt * ShoppingGoods[k].price; //商品金额乘以数量
endBalance += balance1; //累加商品金额
System.out.println(" ");
System.out.println("输入“0”查看购物车信息");
System.out.println("请输入商品序号:");
System.out.println(" ");
}else {
System.out.println(" ");
System.out.println("您需要太多了,我们没有这么多货呢。");
System.out.println("请重新选择商品!");
System.out.println("请输入商品序号:");
System.out.println("输入“0”查看购物车信息");
System.out.println(" ");
}
}else System.out.println("输入非法,请重新输入!");
}
}else System.out.println("已退出商品选择...");
}
void ordersDisplay() { //订单信息展示
System.out.println("----------------------------------");
System.out.println(" ");
System.out.println("商品总额:" + endBalance);
System.out.println(" ");
SCDisplay(); // 购物车展示
System.out.println("----------------------------------");
System.out.println(" ");
System.out.println("输入“1”结账发货....");
System.out.println("输入“2”继续选择商品");
System.out.println("输入“3”删除购物车商品");
int e = 2;
while(e !=0 ) {
e = scanner.nextInt();
if(e == 2) {
opt(); //调用商品选择功能
}else if(e == 3) {
deleteSC(); //调用购物车删除商品功能
}
else if(e == 1) {
new LoginTest().Information(); //调用用户的信息
System.out.println("----------------------------------");
System.out.println(" ");
System.out.println("商品总额:" + endBalance);
System.out.println(" ");
System.out.print("商品订单编号:");
System.out.println(getRandom(11)); //生成随机订单编号
SCDisplay(); //调用购物车展示功能
System.out.println(" ");
System.out.println("鉴于您是本店VIP客户,所有商品将打5折哟!");
System.out.println("应付金额:" + endBalance * 0.5);
System.out.println("请支付金额:(尽自己所能)");
double money = 1000000000;
do {
money = scanner.nextDouble();
if((endBalance * 0.5) <= money) {
System.out.println("----------------------------------");
System.out.println("找零:" + (money - (endBalance * 0.5))); //支付金额减去所需总额
System.out.println("下单成功!");
System.out.println("购物成功,欢迎下次光临哟!");
break;
}else {
System.out.println("您支付的金额不太够哟,请重新支付!");
}
}while((endBalance * 0.5) > money); //当所需总额打折后依然大于支付金额则继续循环
break;
}else System.out.println("输入指令有误,请重新输入!");
}
}
void findGoods() { // 查找商品
System.out.println("请输入该商品名称:");
int x =-1;
while(x!=0) {
String name = scanner.next();
for(int i = 0;i<13;i++) {
if(goods[i].getComName().equals(name))
{
goods[i].printOneLine();
System.out.println("输入“1”加入购物车");
int chioce = scanner.nextInt();
if(chioce == 1) {
ShoppingGoods[k] = goods[i];
k++;
}
x=0;
}else {
System.out.println("找不到该商品");
new LoginTest().enter();
break;
}
}
}
}
void adminMenu() {//商品管理菜单
System.out.println("---------------------");
System.out.println(" ");
System.out.println("| 1...增加商品 |");
System.out.println("| 2...修改商品 |");
System.out.println("| 3...删除商品 |");
System.out.println("| 4...查看商品 |");
System.out.println("| 0...退出管理 |");
System.out.println(" ");
System.out.println("---------------------");
int adminChoice = 5;
//输入程序开始运行
while(adminChoice != 0 || adminChoice != 1
|| adminChoice != 2 || adminChoice != 3 || adminChoice != 4) {
adminChoice = scanner.nextInt();
switch(adminChoice){
case 0:
System.out.println("成功退出管理系统,欢迎再次使用!");
break;
case 1:
addCommodity();
adminChoice = 0;
break;
case 2:
revise();
adminChoice = 0;
break;
case 3:
deleteGoods();
adminChoice = 0;
break;
case 4:
goodsDisplay();
adminChoice = 0;
break;
default:
System.out.println("输入非法,请重新输入!");
}
if(adminChoice == 0)
break;
}
}
}
总控商店测试
ShoppingTest
import java.util.Scanner;
import java.io.IOException;
import java.lang.invoke.*;
public class ShoppingTest {
public static void main(String[] args) throws IOException {
Commodity ShoppingGoods[] = new Commodity[50];
ShoppingGoods[0] = new Shopping( 1,"Hua电脑",8999.0,100);
ShoppingGoods[1] = new Shopping( 2,"IPHONE",5999.0,100);
ShoppingGoods[2] = new Shopping( 3,"Le笔记本电脑",5999.0,100);
Commodity goods[] = new Commodity[50];
Prototype person[] = new Prototype[20];
person[0] = new LoginTest("VIP","417","123456","王子","1008611","学院ID",10000.0);
person[1] = new LoginTest("VIP","417","123456","王子","1008611","学院ID",10000.0);
person[2] = new LoginTest("VIP","417","123456","王子","1008611","学院ID",10000.0);
// String type,String No,String passWord,String Name,String phoneNo,String location,double balance
System.out.println("---------------------");
System.out.println(" 学生宿舍小卖部 ");
System.out.println("---------------------");
System.out.println(" ");
System.out.println("| 1...登录 |");
System.out.println("| 2...注册 |");
System.out.println("| 3...管理 |");
System.out.println("| 0...退出商店 |");
System.out.println(" ");
System.out.println("---------------------");
System.out.println(" ");
System.out.print("请输入选项:");
Scanner scan = new Scanner(System.in);
int userChoice = 5;
//输入程序开始运行
while(userChoice != 0 || userChoice != 1 || userChoice != 2) {
userChoice = scan.nextInt();
switch(userChoice){
case 0:
System.out.println("成功退出系统,欢迎再次使用!");
break;
case 1:
new LoginTest().login();//已有用户登录
userChoice = 0;
break;
case 2:
new LoginTest().registration();//新用户进行注册
userChoice = 0;
break;
case 3:
new Shopping().admin(); //进入商店管理
userChoice = 0;
break;
}
if(userChoice == 0) //退出选择循环
break;
}
scan.close();
}
}
自己做的系统,不喜忽喷!
还望各位大神指点一二拯救一下以至于系统可以使用IO流存储用户和商品信息~~~