- 浏览: 44516 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
胡火云:
我的回答是:正常。但不知为什么会出现这些信息,而这些信息要说明 ...
CL编辑器问题-出现这些字符是正常的吗? -
胡火云:
回答:这是对的,也是消息队列。
系统内部给出
声明结构体
import java.util.Scanner;
/**
* @since 用户的信息管理:输出用户信息,添加用户信息,修改用户信息,删除用户的帐户。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class UserInfo
{
/**
* 输出用户信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
*/
public static void showUserInfo(int [] id,int age[],int scores[])
{
System.out.println("书店管理销售系统>会员信息管理>显示会员信息");
System.out.print(" 会员号"+"\t"+" 年龄"+"\t"+" 积分"+"\n");
for(int i=0;i<id.length;i++)
{
if(id[i]==0)
{
break;
}
System.out.print(" "+id[i]+"\t"+" "+age[i]+"\t"+" "+scores[i]+"\n");
}
}
/**
* 添加用户信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
*/
public static void addUserInfo(int [] id,int age[],int scores[],int Id,String book[],float price[], String name[],int Jscores[])
{
Scanner sc=new Scanner(System.in);
try
{
boolean b=false;
//判断输入的账号是否存在
int i=0;
//首先用户ID必须是大于零的
if(Id>0)
{
for(;i<id.length;i++)
{
if(Id==id[i])
{
b=true;
}
}
//判断输入的账户是否重复
if(b)
{
System.out.println("该账号已存,添加失败!");
}
else
{
System.out.print("请输入会员年龄:");
int Age=sc.nextInt();
//判断输入的年龄是否在0-150之间,如果不在就调用keep()这个方法提示用户是否要继续添加
if(Age>0&&Age<=150)
{
//处理输入会员积分时的异常
try
{
System.out.print("请输入会员积分:");
int Scores=sc.nextInt();
//判断输入的积分是否大于零,如果不是就调用keep()这个方法提示用户是否要继续添加
if(Scores>0)
{
//用循环来判断输入账号的位置然后对其进行赋值
for(int j=0;j<id.length;j++)
{
if(id[j]==0)
{
id[j]=Id;
age[j]=Age;
scores[j]=Scores;
break;
}
}
System.out.println("添加成功!");
}
else
{
System.out.println("积分必须大于零!");
//调用会员管理类下的判断是否继续的方法并把方法的返回值赋给b1这个布尔变量
boolean b1=UserInfo.keep(id, age, scores, Id, book, price, name, Jscores);
if(b1==true)
{
//调用会员管理类下的添加会员的方法
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
else
{
BeginMenu.Menu_3();
//调用主要功能模块类下的显示主要信息的方法(主要菜单和功能的实现)
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
catch(Exception e)
{
System.out.println("输入的积分必须是整数类型!");
//调用会员管理类下的判断是否继续的方法并把方法的返回值赋给b1这个布尔变量
boolean b1=UserInfo.keep(id, age, scores, Id, book, price, name, Jscores);
if(b1==true)
{
//调用会员管理类下的添加会员的方法
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
else
{
BeginMenu.Menu_3();
//调用主要功能模块类下的显示主要信息的方法(主要菜单和功能的实现)
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
else
{
System.out.println("你输入的年龄必须在0-150之间的整数!");
//调用会员管理类下的判断是否继续的方法并把方法的返回值赋给b1这个布尔变量
boolean b1=UserInfo.keep(id, age, scores, Id, book, price, name, Jscores);
if(b1==true)
{
//调用会员管理类下的添加会员的方法
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
else
{
BeginMenu.Menu_3();
//调用主要功能模块类下的显示主要信息的方法(主要菜单和功能的实现)
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
}
else
{
System.out.println("帐户必须是大于零的整数,添加失败!");
}
}
catch(Exception e)
{
System.out.println("你的输入的年龄只能是大于零的整数类型!");
//此时出现错误,提示用户是否要继续添加,调用会员管理类下的判断是否继续的方法并把方法的返回值赋给b1这个布尔变量
boolean b=UserInfo.keep(id, age, scores, Id, book, price, name, Jscores);
if(b==true)
{
//调用会员管理类下的添加会员的方法
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
else
{
BeginMenu.Menu_3();
//调用主要功能模块类下的显示主要信息的方法(主要菜单和功能的实现)
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
/**
* 修改用户信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
* @param book
* @param price
* @param name
* @param Jscores
* @param st
*/
//判断输入的ID是否存在
public static boolean b5=false;
public static void rework(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[],int st)
{
//st是输入的用户账号
Scanner sc=new Scanner(System.in);
int i=0;
//判断是否存在该输入的id号
for(;i<id.length;i++)
{
if(st==id[i])
{
b5=true;
break;
}
}
//如果判断输入的账户存在则继续提示用户输入新的会员的年龄,否则就提示用户输入的账号不存在
if(b5)
{
//打印找到的会员账号的年龄和积分
System.out.println("会员"+id[i]+"的年龄"+"\t"+age[i]+"\t"+"积分:"+"\t"+scores[i]);
System.out.print("请输入会员新的年龄:");
try
{
int NewAge=sc.nextInt();
//判断输入的新的年龄是否在0-150之间否则提示用户输入的年龄必须为大于零的整数
if(NewAge>0&&NewAge<=150)
{
System.out.print("请输入会员新的积分:");
//捕获和处理输入积分时的异常
try
{
int NewScores=sc.nextInt();
//输入的积分如果大于零就把新的年龄和新的积分赋给用户输入的账户
if(NewScores>0)
{
age[i]=NewAge;
scores[i]=NewScores;
System.out.println("修改成功!");
}
else
{
System.out.println("新的会员积分必须是大于零的整数!");
boolean bool=UserInfo.keepRework(id, age, scores, book, price, name, Jscores, st);
if(bool==true)
{
UserInfo.keepRework(id, age, scores, book, price, name, Jscores,st);
}
else
{
BeginMenu.Menu_3();
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
catch(Exception e)
{
System.out.println("积分必须是整数类型的数字!");
//b4使用承接用户是是否要继续修改的布尔值
boolean b4=UserInfo.keepRework(id, age, scores, book, price, name, Jscores,st);
if(b4==true)
{
//调用会员管理下的修改会员的方法
UserInfo.rework(id, age, scores, book, price, name, Jscores, st);
}
else
{
//调出菜单类下的会员管理菜单
BeginMenu.Menu_3();
//调用主要功能模块下的会员管理的方法
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
else
{
System.out.println("新的会员年龄必须是0-150之间的整数!");
//调用会员管理下的提示用户是要继续修改方法
boolean bool=UserInfo.keepRework(id, age, scores, book, price, name, Jscores, st);
if(bool==true)
{
UserInfo.keepRework(id, age, scores, book, price, name, Jscores,st);
}
else
{
BeginMenu.Menu_3();
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
catch(Exception e)
{
System.out.println("你的输入年龄必须是0-150之间的整数!");
//b4使用承接用户是是否要继续修改的布尔值
boolean b4=UserInfo.keepRework(id, age, scores, book, price, name, Jscores,st);
if(b4==true)
{
//调用会员管理下的修改会员的方法
UserInfo.rework(id, age, scores, book, price, name, Jscores, st);
}
else
{
//调出菜单类下的会员管理菜单
BeginMenu.Menu_3();
//调用主要功能模块下的会员管理的方法
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
else
{
System.out.println("没有该会员的记录,修改失败!");
}
}
/**
* 删除用户的帐户
* @param id 会员账户
* @param age 会员年龄
* @param scores 会员积分
*/
public static void deleteUser(int id[],int age[],int scores[])
{
System.out.print("请输入要删除的会员帐号:");
Scanner sc=new Scanner(System.in);
try
{
int deleteId=sc.nextInt();
if(deleteId>0)
{
//记录最大位置
int max=0;
for(;max<id.length;max++)
{
if(id[max]==0)
{
break;
}
}
//记录当前位置
int l=0;
for(;l<max;l++)
{
if(id[l]==deleteId)
{
break;
}
}
id[l]=0;
age[l]=0;
scores[l]=0;
//把后面的的数据向前移动
if(l<max)
{
for(int i=l;i<max-1;i++)
{
id[i]=id[i+1];
age[i]=age[i+1];
scores[i]=scores[i+1];
}
id[max-1]=0;
age[max-1]=0;
scores[max-1]=0;
System.out.println("删除成功。");
}
else
{
System.out.println("没有找到该帐号,删除失败!");
}
}
else
{
System.out.println("会员帐号必须是大于零的整数,删除失败!");
}
}
catch(Exception e)
{
System.out.println("你输入的会员账号有误,删除失败!");
}
}
/**
* 该方法主要是对添加会员是出现的错误进行处理,提示用户是否要继续添加
* @param id
* @param age
* @param scores
* @param Id
* @param book
* @param price
* @param name
* @param Jscores
* @return 布尔类型的值
*/
public static boolean keep(int [] id,int age[],int scores[],int Id,String book[],float price[], String name[],int Jscores[])
{
System.out.print("你数否要继续添加(y/n):");
Scanner sc=new Scanner(System.in);
String s=sc.next();
//b2判断是否要继续添加
boolean b2=false;
if(s.equals("y")||s.equals("Y"))
{
b2=true;
}
else if(s.equals("n")||s.equals("N"))
{
b2=false;
}
else
{
System.out.println("输入错误请重新选择(y/n)!");
if(keep(id, age, scores, Id, book, price, name, Jscores)==true)
{
//调用管理会员下的添加会员
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
else
{
BeginMenu.Menu_3();
//调用主要功能模块中的会员管理方法
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
return b2;
}
/**
* 该方法主要是对修改会员是出现的错误进行处理,提示用户是否要继续修改
* @param id
* @param age
* @param scores
* @param book
* @param price
* @param name
* @param Jscores
* @return b3是否要继续修改的布尔值
*/
public static boolean keepRework(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[],int st)
{
//b3使用存储用户是否继续修改的布尔值
boolean b3=false;
System.out.print("你是否要继续修改(y/n):");
Scanner sc=new Scanner(System.in);
String s=sc.next();
if(s.equals("Y")||s.equals("y"))
{
b3=true;
}
else if(s.equals("N")||s.equals("n"))
{
b3=false;
}
else
{
System.out.println("输入错误请重新选择(y/n)!");
//如果多次输入错误,会导致输入y时返回会员管理菜单。这里再一次调用修改会员这个方法
if(UserInfo.keepRework(id, age, scores, book, price, name, Jscores, st))
{
UserInfo.rework(id, age, scores, book, price, name, Jscores, st);
}
}
return b3;
}
}
/**
* 胡火云
* @author SVSE
*用户数据
*/
/**
* @since 用户数据。
* @version 2010.3.26
* @author 胡火云
*/
public class InfoDate
{
/**
* 会员帐号
* @return 会员账号
*/
public static int[] Id()
{
int id[]=new int[50];
id[0]=1100;
id[1]=1101;
id[2]=1102;
id[3]=1103;
id[4]=1104;
id[5]=1105;
id[6]=1106;
id[7]=1107;
return id;
}
/**
* 会员年龄
* @return 会员年龄
*/
public static int[] Age()
{
int age[]=new int[50];
age[0]=32;
age[1]=12;
age[2]=35;
age[3]=50;
age[4]=33;
age[5]=24;
age[6]=29;
age[7]=21;
return age;
}
/**
* 会员积分
* @return 会员积分
*/
public static int[] Scores()
{
int scores[]=new int[50];
scores[0]=1002;
scores[1]=1600;
scores[2]=500;
scores[3]=30000;
scores[4]=4535;
scores[5]=20;
scores[6]=200;
scores[7]=859;
return scores;
}
}
import java.util.Scanner;
/**
* @since 书籍管理信息:显示书籍信息,添加书籍,书籍更新,修改书籍 。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class BooksInfo
{
/**
* 显示书籍信息
* @param book 书籍名称
* @param price 书籍价格
*/
//b是判断是否在修改书籍当中价格输入错误时判断是否重新输入价格
public static boolean b=true;
//AddBook使用来判断输入的价格是否符合规范
public static boolean AddBook=true;
public static void seeBookInfo(String book[],float price[])
{
System.out.print("编号"+"\t"+"书籍信息"+"\t\t\t"+"价 格(¥)"+"\n");
//获取书籍的最大数量
for(int i=0;i<book.length;i++)
{
//获取有多少书籍,如果为空就跳出。
if(book[i]==null)
{
break;
}
System.out.print(i+"\t"+book[i]+"\t\t\t"+price[i]+"\n");
}
}
/**
* 添加书籍的方法
* @param book 书籍名称
* @param price 书籍价格
*/
public static void addBook(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[],String BookName)
{
Scanner sc=new Scanner(System.in);
//k是用来计算是否重复的计算数字。
int k;
//repeat是判断判断否重复,默认是不重复的。
boolean repeat=true;
//判断是否重复
for(k=0;k<book.length;k++)
{
//Array.equals(BookName)与BookName.equals(Array)的区别,1.Error,2.True。
if(BookName.equals(book[k]))
{
repeat=false;
break;
}
}
//如果repeat=true就接受用户输入价格否则就提示该输入的书籍已存在
if(repeat)
{
if(AddBook)
{
try
{
System.out.print("请输入价格:");
float BookPrice=sc.nextFloat();
if(BookPrice>0)
{
for(int i=0;i<book.length;i++)
{
if(book[i]==null)
{
book[i]=BookName;
price[i]=BookPrice;
break;
}
}
System.out.println("添加成功!");
//调出菜单类中的书籍管理菜单
BeginMenu.Menu_4();
//调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
else
{
System.out.println("价格必须是正数,请重新你输入价格。");
//调用书籍管理的添加书籍的方法
BooksInfo.addBook(id, age, scores, book, price, name, Jscores, BookName);
}
}
catch(Exception e)
{
//添加异常处理事件
System.out.print("你输入的价格有误!\n是否要重新输入要价格(y/n):");
BooksInfo.decidePrice();
}
}
//如果输入的价格不符合规范
else
{
//不符合规格是调用
System.out.println("添加失败!");
//为了以后能正常运行必须把AddBook重新复位为原来状态
AddBook=true;
//调出菜单类中的书籍管理菜单
BeginMenu.Menu_4();
//调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
}
else
{
System.out.println("你输入的书籍已存在!");
//调出菜单类中的书籍管理菜单
BeginMenu.Menu_4();
//调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
}
/**
* 书籍更新
* @param book 书籍名称
* @param price 书籍价格
*/
public static void deleteBook(String book[],float price[])
{
System.out.println("书店管理销售系统>书籍管理>书籍下架");
System.out.print("请输入要删除的书的书名:");
Scanner sc=new Scanner(System.in);
String name=sc.next();
int MaxBooks=0,Laction=0;
//计算书籍的数量
for(;MaxBooks<book.length;MaxBooks++)
{
if(book[MaxBooks]==null)
{
break;
}
}
//获取用户输入书籍名时在数组中的位置
for(;Laction<MaxBooks;Laction++)
{
if(book[Laction].equals(name))
{
break;
}
}
//找到的的数字应该小于找到的字符串否则就没有找到
if(Laction<MaxBooks)
{
book[Laction]=null;
price[Laction]=0.0f;
for(int i=Laction;i<MaxBooks-1;i++)
{
book[i]=book[i+1];
price[i]=price[i+1];
}
book[MaxBooks-1]=null;
price[MaxBooks-1]=0.0f;
System.out.println("删除成功!");
}
else
{
System.out.println("没有找该书籍!");
}
}
/**
* 修改书籍
* @param book 书籍名称
* @param price 书籍价格
*/
public static int reworkBook(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[],String BookName)
{
Scanner sc=new Scanner(System.in);
//贮存找到书籍位置
int priceNum=-1;
//获取书籍的数量有多少
int i;
for(i=0;i<book.length;i++)
{
if(book[i]==null)
{
break;
}
}
//记录输入书籍的位置
int j;
//找到输入书籍的位置并用变量j保存
for(j=0;j<i;j++)
{
if(book[j].equals(BookName))
{
break;
}
}
//如果找到的书籍数量小于书籍数量如果小于就提示输入新的价格否则就提示没有找到该书籍
if(j<i)
{
priceNum=j;
if(b==true)
{
//处理输入价格的异常
try
{
System.out.print("请输入新的价格:");
float BookPrice=sc.nextFloat();
price[j]=BookPrice;
System.out.println("修改成功。");
//调用菜单类中的书籍管理菜单
BeginMenu.Menu_4();
//调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
catch(Exception e)
{
System.out.println("你的输入有误,请重新输入!");
//调用书籍管理中的true_or_false的方法
BooksInfo.true_or_false();
}
}
else
{
System.out.println("修改失败!");
//把原先的值给设置回来,以免在后面在修改是发生修改失败的情况
b=true;
//调用菜单类中的书籍管理菜单
BeginMenu.Menu_4();
// //调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
}
else
{
System.out.println("没有找到该书籍。");
// 调用菜单类中的书籍管理菜单
BeginMenu.Menu_4();
//调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
return priceNum;
}
/**
* 判断在修改书籍时价格是否符合规格,如果不符合就把b赋值为false
* @param book
* @param price
* @param BookName
*/
public static void true_or_false()
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入(y/n):");
String s=sc.next();
//判断输入的是否为(y/n),大小写都可以
if(s.equals("y")||s.equals("Y"))
{
b=true;
}
else if(s.equals("n")||s.equals("N"))
{
b=false;
}
else
{
System.out.println("输入有误请重新输入!");
//调用书籍管理中的判断修改书籍的价格是否付合规格的方法
BooksInfo.true_or_false();
}
}
//decide(决定)输入价格不规范是调用这个方法让用户再输入价格
public static void decidePrice()
{
Scanner sc=new Scanner(System.in);
String s=sc.next();
//如果用户输入大小写也能使程序正常运行
if(s.equals("y")||s.equals("Y"))
{
AddBook=true;
}
else if(s.equals("n")||s.equals("Y"))
{
AddBook=false;
}
else
{
System.out.print("输入错误,请重新输入(Y/N):");
BooksInfo.decidePrice();
}
}
}
/**
* @since 书籍数据:书籍名称,书籍价格。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class BooksDate
{
/**
* 书籍信息
* @return 书籍名称
*/
public static String[] Book()
{
String []book=new String[50];
book[0]="开始学习Java";
book[1]="大学英语";
book[2]="教育学";
book[3]="JavaSpring";
book[4]="PhotoShop";
book[5]="C#基础";
book[6]="高等数学";
book[7]="J2SE桌面应用开发";
book[8]="毛邓";
return book;
}
/**
* 书籍的价格信息
* @return 书籍的价格
*/
public static float[] Price()
{
float price[]=new float[50];
price[0]=35.9f;
price[1]=59.0f;
price[2]=23.5f;
price[3]=60.8f;
price[4]=70.5f;
price[5]=43.2f;
price[6]=8.5f;
price[7]=78.8f;
price[8]=5.2f;
return price;
}
}
/**
* @since 菜单类:登陆菜单,主菜单,会员管理菜单,书籍管理菜单。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class BeginMenu
{
/**
* 登陆菜单
*/
public static void Menu_1()
{
System.out.println("书店管理销售系统");
System.out.println("******************************");
System.out.print(" 1.登陆"+"\n"+" 2.退出"+"\n");
System.out.println("******************************");
}
/**
*
*主菜单
*/
public static void Menu_2()
{
System.out.println("******************************");
System.out.print(" 1.会员管理"+"\n"+" 2.书籍管理"+"\n"+" 3.购物结算"+"\n"+" 4.积分兑换礼品"+"\n"+" 5.注销"+"\n");
System.out.println("******************************");
System.out.println("书店管理销售系统>主菜单");
}
/**
*
*会员管理菜单
*/
public static void Menu_3()
{
System.out.println("******************************");
System.out.print(" 1.显示所有会员信息"+"\n"+" 2.添加会员信息"+"\n"+" 3.修改会员信息"+"\n"+" 4.删除会员"+"\n"+" m.返回主菜单"+"\n");
System.out.println("******************************");
}
/**
*
*书籍管理菜单
*/
public static void Menu_4()
{
System.out.println("******************************");
System.out.print(" 1.查看书目"+"\n"+" 2.添加书籍"+"\n"+" 3.删除书籍"+"\n"+" 4.修改书籍"+"\n"+" m.返回主菜单"+"\n");
System.out.println("******************************");
}
}
/**
* @since 礼品数据:兑换礼品名称,礼品的积分 。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class DatePresent
{
/**
* 兑换礼品的名称
* @return 礼品名称
*/
public static String [] presentName()
{
String name[]=new String[50];
name[0]="USB光驱";
name[4]="21"+"\""+"电视机";
name[1]="电水壶";
name[2]="硬盘(500M)";
name[3]="诺机亚M5310";
name[5]="毛江林读本";
name[6]="红色旅游手册";
return name;
}
/**
* 礼品的积分
* @return 兑换礼品所需积分
*/
public static int [] presentScores()
{
int scores[]=new int[50];
scores[0]=5000;
scores[1]=500;
scores[2]=250;
scores[3]=1000;
scores[4]=1500;
scores[5]=100;
scores[6]=300;
return scores;
}
}
import java.util.Scanner;
/**
* @since 兑换礼品。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class ExchangePresent
{
/**
* 兑换礼品
* @param id 会员编号
* @param scores 会员积分
* @param name 礼品名称
* @param Jscores 兑换礼品积分
*/
public static void Exchange(int id[],int scores[],String name[],int Jscores[])
{
System.out.println("书店管理销售系统>积分兑换礼品");
System.out.println("******************************");
System.out.print("礼品编号\t"+"礼品名称\t\t兑换礼品所需积分\n");
for(int i=0;i<name.length;i++)
{
if(name[i]==null)
{
break;
}
System.out.print(i+"\t"+name[i]+"\t\t"+Jscores[i]+"\n");
}
System.out.println("******************************");
Scanner sc=new Scanner(System.in);
try
{
System.out.print("请输入会员账号:");
int UserId=sc.nextInt();
int k,u,m;
// 计算有多少礼品
for(k=0;k<Jscores.length;k++)
{
if(Jscores[k]==0)
{
break;
}
}
//计算有多少帐户
for(u=0;u<id.length;u++)
{
if(id[u]==0)
{
break;
}
}
//计算输入帐户的位置
for(m=0;m<u;m++)
{
if(id[m]==UserId)
{
break;
}
}
//如果账户的位置小于账户的最大位置则为true否则为false
if(m<u)
{
//验证输入的编号是否符合礼品编号
if(id[m]==UserId)
{
System.out.print("请选择你需要兑换的礼品编号:");
int presentId=sc.nextInt();
if(presentId<k)
{
int overplus =0;
overplus=scores[m]-Jscores[presentId];
if(overplus>0)
{
System.out.print("你成功兑换了"+name[presentId]+",你还有"+overplus+"分"+"\n");
scores[m]=overplus;
}
else
{
System.out.println("你积分不够,无法兑换礼品!");
}
}
else
{
System.out.println("该礼品不存在。");
}
}
}
else
{
System.out.println("你输入的帐户不存在。");
}
}
catch(Exception e)
{
System.out.println("你输入有误!");
}
}
}
import java.util.Scanner;
/**
* @since 主要功能模块:登陆信息,主菜单的功能,会员管理信息,书籍管理信息。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class FunctionBlocks
{
/**
* 登陆信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
* @param book 书籍名称
* @param price 书籍价格
* @param name 礼品名称
* @param Jscores 礼品积分
* @return 布尔类型
*/
public static boolean function_Begin(int [] id,int age[],int scores[],String book[],float price[],String name[],int Jscores[])
{
//login是为Function_Menu中的如果发生5就返回主菜单而准备的
boolean login=false;
Scanner sc=new Scanner(System.in);
//调出登陆菜单菜单
BeginMenu.Menu_1();
System.out.print("请选择:");
//进入功能选择
while(true)
{
String choice=sc.next();
if(choice.equals("1"))
{
if(LandSystem.Land())
{
function_Menu(id,age,scores,book,price,name,Jscores);
login=true;
}
break;
}
else if(choice.equals("2"))
{
System.out.print("谢谢你的使用,程序已退出!");
//系统正常退出
System.exit(0);
}
else
{
System.out.print("输入错误,请重新选择:");
}
}
//返回一个布尔值
return login;
}
/**
* 主菜单的功能
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
* @param book 书籍列表
* @param price 书籍价格
* @param name 礼品名称
* @param Jscores 礼品积分
*/
public static void function_Menu(int id[] ,int age[],int scores[],String book[],float price[],String name[],int Jscores[])
{
Scanner sc=new Scanner(System.in);
//进入主菜单
while(true)
{
BeginMenu.Menu_2();
System.out.print("请选择,输入数字:");
String n=sc.next();
if(n.equals("1"))
{
BeginMenu.Menu_3();
function_Admin(id,age,scores,book,price,name,Jscores);
}
else if(n.equals("2"))
{
BeginMenu.Menu_4();
function_Book(id,age,scores,book,price,name,Jscores);
}
else if(n.equals("3"))
{
System.out.println("书店管理销售系统>购物结算");
System.out.println("************书籍列表************");
BooksInfo.seeBookInfo(book, price);
System.out.println("*******************************");
System.out.print("请输入会员号:");
try
{
int InputId=sc.nextInt();
GoodsBalance.balance(id, scores, book, price,InputId);
}
catch(Exception e)
{
System.out.println("用户账户输入错误!");
FunctionBlocks.function_Menu(id, age, scores, book, price, name, Jscores);
}
}
else if(n.equals("4"))
{
ExchangePresent.Exchange(id, scores, name, Jscores);
}
else if(n.equals("5"))
{
//注销返回开始登陆时的菜单如果返回true就进入主菜单
if(FunctionBlocks.function_Begin(id,age,scores,book,price,name,Jscores))
{
//调用主菜单
function_Menu(id,age,scores,book,price,name,Jscores);
}
}
else
{
System.out.println("输入错误,必须是1-5之间的整数类型!");
}
}
}
/**
* 会员管理信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
* @param book 书籍名称
* @param price 书籍价格
* @param name 礼品名称
* @param Jscores 礼品积分
*/
public static void function_Admin(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[])
{
System.out.println("书店管理销售系统>会员管理");
Scanner sc=new Scanner(System.in);
System.out.print("请选择功能:");
//进入会员管理菜单
while(true)
{
String n=sc.next();
if(n.equals("1"))
{
UserInfo.showUserInfo(id, age, scores);
}
else if(n.equals("2"))
{
System.out.println("书店管理销售系统>会员信息管理>新增会员信息");
System.out.print("请输入会员账号:");
try
{
int Id=sc.nextInt();
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
catch(Exception e)
{
System.out.println("输入的内容必须是整数类型的数字!");
//调出会员管理菜单
BeginMenu.Menu_3();
//调用主要功能模块中的会员管理方法让用户再次选择功能
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
else if(n.equals("3"))
{
System.out.println("书店管理销售系统>会员信息管理>修改会员信息");
System.out.print("请输入会员号:");
//try捕获异常catch处理异常
try
{
int ID=sc.nextInt();
UserInfo.rework(id, age, scores, book, price, name, Jscores, ID);
}
catch(Exception e)
{
System.out.println("输入的会员账号必须是整数类型的数字!");
//调出会员管理菜单
BeginMenu.Menu_3();
//调出会员管理菜单
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
else if(n.equals("4"))
{
UserInfo.deleteUser(id, age, scores);
}
else if(n.equals("m"))
{
function_Menu(id,age,scores,book,price,name,Jscores);
}
else if(n.equals("u"))
{
BeginMenu.Menu_3();
function_Admin(id,age,scores,book,price,name,Jscores);
}
else
{
System.out.println("输入错误,请选择会员管理菜单中显示的数字或字母!");
}
//因为这是个死循环不会走打到死循环的外面,除非调用方法
System.out.print("请按"+"\'"+"u"+"\'"+"返回会员管理菜单,或者选择功能:");
}
}
/**
* 书籍管理信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
* @param book 书籍名称
* @param price 书籍价格
* @param name 礼品名称
* @param Jscores 礼品积分
*/
public static void function_Book(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[])
{
System.out.println("书店管理销售系统>书籍管理");
Scanner sc=new Scanner(System.in);
//进入书籍管理菜单
while(true)
{
System.out.print("请选择功能:");
String s=sc.next();
char n=s.charAt(0);
if(n=='1')
{
System.out.println("书店管理销售系统>书籍管理>书籍列表:");
BooksInfo.seeBookInfo(book, price);
}
else if(n=='2')
{
System.out.println("书店管理销售系统>书籍管理>添加书籍");
System.out.print("请输入要添加的书的书名:");
String BookName=sc.next();
while(true)
{
BooksInfo.addBook(id, age, scores, book, price, name, Jscores, BookName);
}
}
else if(n=='3')
{
BooksInfo.deleteBook(book, price);
}
else if(n=='4')
{
System.out.print("请输入要修改的书籍:");
String BookName=sc.next();
while(true)
{
BooksInfo.reworkBook(id, age, scores, book, price, name, Jscores,BookName);
}
}
else if(n=='m')
{
FunctionBlocks.function_Menu(id, age, scores, book, price,name,Jscores);
}
else if(n=='b')
{
BeginMenu.Menu_4();
FunctionBlocks.function_Book(id, age, scores, book, price,name,Jscores);
}
else
{
System.out.println("输入错误,请输入书籍管理菜单中显示的数字或字母!");
}
System.out.println("请按"+"\'"+"b"+"\'"+"返回书籍管理菜单,或者选择功能。");
}
}
}
import java.util.Scanner;
/**
* @since 物品结算。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class GoodsBalance
{
/**
* 结算的内部功能
* @param id 会员账号
* @param scores 会员积分
* @param book 书籍列表
* @param price 书籍价格
* @return 购买书籍总价格
*/
static boolean b=true;
static float sumPrice=0.0f;
public static float balance(int id[],int scores[],String book[],float price[],int name)
{
Scanner sc=new Scanner(System.in);
try
{
int k,l;
//判断会员的最大数量
for(k=0;k<id.length;k++)
{
if(id[k]==0)
{
break;
}
}
//判断输入会员的位置
for(l=0;l<k;l++)
{
if(name==id[l])
{
break;
}
}
//计数用的
int i,j;
//接收用户输入书籍的数量
int num=0;
if(l<k)
{
//Num是用来存放输入书籍编号的
int Num;
//这是一个死循环,用来判断用户是否想继续输入,如果是否就直接跳出当前循环
do
{
if(b)
{
System.out.print("请输入书籍编号:");
Num=sc.nextInt();
//获取最大书籍编号
for(i=0;i<book.length;i++)
{
if(book[i]==null)
{
break;
}
}
//获取输入编号的位置
for(j=0;j<i;j++)
{
if(Num==j)
{
break;
}
}
//判断是否存在输入的编号
if(j<i)
{
System.out.print("请输入要购买的数量:");
num=sc.nextInt();
// 计算总价
sumPrice=sumPrice+price[j]*num;
}
else
{
System.out.println("你输入的编号不存在!");
}
}
else
{
break;
}
//调用是否继续方法
b=GoodsBalance.true_or_false();
}
while(true);
//计算,传值。
System.out.println("金额总计: ¥"+sumPrice);
System.out.print("交费金额: ¥");
float coin=sc.nextFloat();
//判断用户的交费金额是否小于金额总计
if((coin-sumPrice)>=0)
{
System.out.print("找零: ¥"+(coin-sumPrice)+"\n");
int JScores=(int)sumPrice/10;
System.out.print("消费积分: "+JScores+"分"+"\n");
scores[l]=JScores+scores[l];
}
else
{
//重新赋值以防以后b一直为false;
b=true;
//购买失败就把总金额复位
sumPrice=0.0f;
System.out.println("购买失败!");
}
}
//判断该会员是否存在
else
{
System.out.println("该会员不存在,购买失败!");
}
}
catch(Exception e)
{
System.out.println("输入错误,输入内容必须是整数!");
//如果异常怎么实现提示再输入
GoodsBalance.balance(id, scores, book, price, name);
}
//整个程序运行完成之后吧b的给设回来
b=true;
return sumPrice;
}
/**
* 判断是否继续进行购物结算
* @return 是否继续的布尔类型
*/
public static boolean true_or_false()
{
Scanner sc=new Scanner(System.in);
System.out.print("是否继续?(y/n):");
String s=sc.next();
//b是用来判断是否继续的的标示
if(s.equals("y"))
{
b=true;
}
else if(s.equals("n"))
{
b=false;
}
else
{
b=false;
System.out.println("输入错误,只能输入(Y/N)!");
GoodsBalance.true_or_false();
}
return b;
}
}
import java.util.Scanner;
/**
* @since 登陆系统。
* @version 2010.3.26
* @author 胡火云
*/
public class LandSystem
{
/**
* 管理登陆信息
* @return 验证是否登录成功的布尔类型
*/
public static boolean Land()
{
boolean b=false;
for(int i=3;i>0;i--)
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入账户:");
String name=sc.next();
System.out.print("请输入密码:");
String word=sc.next();
//System.out.println(word.replaceAll("\\w", "*"));
if(name.equals("svse")&&word.equals("svse"))
{
b=true;
System.out.println("书店管理销售系统!");
break;
}
else if(i==1)
{
System.out.println("你连续三次输入错误,程序被迫退出。");
System.exit(0);
}
else
{
System.out.println("账户错误或密码错误,你还有"+(i-1)+"次机会,请重新输入。");
}
}
//System.out.println("连续三次输入错误,程序被迫退出。");
//这是登陆系统的返回值(类FunctionBlocks)如果为true就调出主菜单
return b;
}
}
/**
* @since 主方法。
* @version 2010.3.26
* @author 胡火云
*/
public class MainMeans
{
/**
* 函数的入口
* @param args 参数列表
*/
public static void main(String [] args)
{
//用户帐户
int ID[]=InfoDate.Id();
//用户年龄
int Age[]=InfoDate.Age();
//用户积分
int Scores[]=InfoDate.Scores();
//书籍名称
String book[]=BooksDate.Book();
//书籍价格
float price[]=BooksDate.Price();
//礼品信息
String name[]=DatePresent.presentName();
//兑换礼品积分
int Jscores[]=DatePresent.presentScores();
//程序的开始
FunctionBlocks.function_Begin(ID,Age,Scores,book,price,name,Jscores);
}
}
/**
* @since 用户的信息管理:输出用户信息,添加用户信息,修改用户信息,删除用户的帐户。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class UserInfo
{
/**
* 输出用户信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
*/
public static void showUserInfo(int [] id,int age[],int scores[])
{
System.out.println("书店管理销售系统>会员信息管理>显示会员信息");
System.out.print(" 会员号"+"\t"+" 年龄"+"\t"+" 积分"+"\n");
for(int i=0;i<id.length;i++)
{
if(id[i]==0)
{
break;
}
System.out.print(" "+id[i]+"\t"+" "+age[i]+"\t"+" "+scores[i]+"\n");
}
}
/**
* 添加用户信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
*/
public static void addUserInfo(int [] id,int age[],int scores[],int Id,String book[],float price[], String name[],int Jscores[])
{
Scanner sc=new Scanner(System.in);
try
{
boolean b=false;
//判断输入的账号是否存在
int i=0;
//首先用户ID必须是大于零的
if(Id>0)
{
for(;i<id.length;i++)
{
if(Id==id[i])
{
b=true;
}
}
//判断输入的账户是否重复
if(b)
{
System.out.println("该账号已存,添加失败!");
}
else
{
System.out.print("请输入会员年龄:");
int Age=sc.nextInt();
//判断输入的年龄是否在0-150之间,如果不在就调用keep()这个方法提示用户是否要继续添加
if(Age>0&&Age<=150)
{
//处理输入会员积分时的异常
try
{
System.out.print("请输入会员积分:");
int Scores=sc.nextInt();
//判断输入的积分是否大于零,如果不是就调用keep()这个方法提示用户是否要继续添加
if(Scores>0)
{
//用循环来判断输入账号的位置然后对其进行赋值
for(int j=0;j<id.length;j++)
{
if(id[j]==0)
{
id[j]=Id;
age[j]=Age;
scores[j]=Scores;
break;
}
}
System.out.println("添加成功!");
}
else
{
System.out.println("积分必须大于零!");
//调用会员管理类下的判断是否继续的方法并把方法的返回值赋给b1这个布尔变量
boolean b1=UserInfo.keep(id, age, scores, Id, book, price, name, Jscores);
if(b1==true)
{
//调用会员管理类下的添加会员的方法
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
else
{
BeginMenu.Menu_3();
//调用主要功能模块类下的显示主要信息的方法(主要菜单和功能的实现)
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
catch(Exception e)
{
System.out.println("输入的积分必须是整数类型!");
//调用会员管理类下的判断是否继续的方法并把方法的返回值赋给b1这个布尔变量
boolean b1=UserInfo.keep(id, age, scores, Id, book, price, name, Jscores);
if(b1==true)
{
//调用会员管理类下的添加会员的方法
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
else
{
BeginMenu.Menu_3();
//调用主要功能模块类下的显示主要信息的方法(主要菜单和功能的实现)
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
else
{
System.out.println("你输入的年龄必须在0-150之间的整数!");
//调用会员管理类下的判断是否继续的方法并把方法的返回值赋给b1这个布尔变量
boolean b1=UserInfo.keep(id, age, scores, Id, book, price, name, Jscores);
if(b1==true)
{
//调用会员管理类下的添加会员的方法
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
else
{
BeginMenu.Menu_3();
//调用主要功能模块类下的显示主要信息的方法(主要菜单和功能的实现)
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
}
else
{
System.out.println("帐户必须是大于零的整数,添加失败!");
}
}
catch(Exception e)
{
System.out.println("你的输入的年龄只能是大于零的整数类型!");
//此时出现错误,提示用户是否要继续添加,调用会员管理类下的判断是否继续的方法并把方法的返回值赋给b1这个布尔变量
boolean b=UserInfo.keep(id, age, scores, Id, book, price, name, Jscores);
if(b==true)
{
//调用会员管理类下的添加会员的方法
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
else
{
BeginMenu.Menu_3();
//调用主要功能模块类下的显示主要信息的方法(主要菜单和功能的实现)
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
/**
* 修改用户信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
* @param book
* @param price
* @param name
* @param Jscores
* @param st
*/
//判断输入的ID是否存在
public static boolean b5=false;
public static void rework(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[],int st)
{
//st是输入的用户账号
Scanner sc=new Scanner(System.in);
int i=0;
//判断是否存在该输入的id号
for(;i<id.length;i++)
{
if(st==id[i])
{
b5=true;
break;
}
}
//如果判断输入的账户存在则继续提示用户输入新的会员的年龄,否则就提示用户输入的账号不存在
if(b5)
{
//打印找到的会员账号的年龄和积分
System.out.println("会员"+id[i]+"的年龄"+"\t"+age[i]+"\t"+"积分:"+"\t"+scores[i]);
System.out.print("请输入会员新的年龄:");
try
{
int NewAge=sc.nextInt();
//判断输入的新的年龄是否在0-150之间否则提示用户输入的年龄必须为大于零的整数
if(NewAge>0&&NewAge<=150)
{
System.out.print("请输入会员新的积分:");
//捕获和处理输入积分时的异常
try
{
int NewScores=sc.nextInt();
//输入的积分如果大于零就把新的年龄和新的积分赋给用户输入的账户
if(NewScores>0)
{
age[i]=NewAge;
scores[i]=NewScores;
System.out.println("修改成功!");
}
else
{
System.out.println("新的会员积分必须是大于零的整数!");
boolean bool=UserInfo.keepRework(id, age, scores, book, price, name, Jscores, st);
if(bool==true)
{
UserInfo.keepRework(id, age, scores, book, price, name, Jscores,st);
}
else
{
BeginMenu.Menu_3();
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
catch(Exception e)
{
System.out.println("积分必须是整数类型的数字!");
//b4使用承接用户是是否要继续修改的布尔值
boolean b4=UserInfo.keepRework(id, age, scores, book, price, name, Jscores,st);
if(b4==true)
{
//调用会员管理下的修改会员的方法
UserInfo.rework(id, age, scores, book, price, name, Jscores, st);
}
else
{
//调出菜单类下的会员管理菜单
BeginMenu.Menu_3();
//调用主要功能模块下的会员管理的方法
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
else
{
System.out.println("新的会员年龄必须是0-150之间的整数!");
//调用会员管理下的提示用户是要继续修改方法
boolean bool=UserInfo.keepRework(id, age, scores, book, price, name, Jscores, st);
if(bool==true)
{
UserInfo.keepRework(id, age, scores, book, price, name, Jscores,st);
}
else
{
BeginMenu.Menu_3();
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
catch(Exception e)
{
System.out.println("你的输入年龄必须是0-150之间的整数!");
//b4使用承接用户是是否要继续修改的布尔值
boolean b4=UserInfo.keepRework(id, age, scores, book, price, name, Jscores,st);
if(b4==true)
{
//调用会员管理下的修改会员的方法
UserInfo.rework(id, age, scores, book, price, name, Jscores, st);
}
else
{
//调出菜单类下的会员管理菜单
BeginMenu.Menu_3();
//调用主要功能模块下的会员管理的方法
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
}
else
{
System.out.println("没有该会员的记录,修改失败!");
}
}
/**
* 删除用户的帐户
* @param id 会员账户
* @param age 会员年龄
* @param scores 会员积分
*/
public static void deleteUser(int id[],int age[],int scores[])
{
System.out.print("请输入要删除的会员帐号:");
Scanner sc=new Scanner(System.in);
try
{
int deleteId=sc.nextInt();
if(deleteId>0)
{
//记录最大位置
int max=0;
for(;max<id.length;max++)
{
if(id[max]==0)
{
break;
}
}
//记录当前位置
int l=0;
for(;l<max;l++)
{
if(id[l]==deleteId)
{
break;
}
}
id[l]=0;
age[l]=0;
scores[l]=0;
//把后面的的数据向前移动
if(l<max)
{
for(int i=l;i<max-1;i++)
{
id[i]=id[i+1];
age[i]=age[i+1];
scores[i]=scores[i+1];
}
id[max-1]=0;
age[max-1]=0;
scores[max-1]=0;
System.out.println("删除成功。");
}
else
{
System.out.println("没有找到该帐号,删除失败!");
}
}
else
{
System.out.println("会员帐号必须是大于零的整数,删除失败!");
}
}
catch(Exception e)
{
System.out.println("你输入的会员账号有误,删除失败!");
}
}
/**
* 该方法主要是对添加会员是出现的错误进行处理,提示用户是否要继续添加
* @param id
* @param age
* @param scores
* @param Id
* @param book
* @param price
* @param name
* @param Jscores
* @return 布尔类型的值
*/
public static boolean keep(int [] id,int age[],int scores[],int Id,String book[],float price[], String name[],int Jscores[])
{
System.out.print("你数否要继续添加(y/n):");
Scanner sc=new Scanner(System.in);
String s=sc.next();
//b2判断是否要继续添加
boolean b2=false;
if(s.equals("y")||s.equals("Y"))
{
b2=true;
}
else if(s.equals("n")||s.equals("N"))
{
b2=false;
}
else
{
System.out.println("输入错误请重新选择(y/n)!");
if(keep(id, age, scores, Id, book, price, name, Jscores)==true)
{
//调用管理会员下的添加会员
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
else
{
BeginMenu.Menu_3();
//调用主要功能模块中的会员管理方法
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
return b2;
}
/**
* 该方法主要是对修改会员是出现的错误进行处理,提示用户是否要继续修改
* @param id
* @param age
* @param scores
* @param book
* @param price
* @param name
* @param Jscores
* @return b3是否要继续修改的布尔值
*/
public static boolean keepRework(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[],int st)
{
//b3使用存储用户是否继续修改的布尔值
boolean b3=false;
System.out.print("你是否要继续修改(y/n):");
Scanner sc=new Scanner(System.in);
String s=sc.next();
if(s.equals("Y")||s.equals("y"))
{
b3=true;
}
else if(s.equals("N")||s.equals("n"))
{
b3=false;
}
else
{
System.out.println("输入错误请重新选择(y/n)!");
//如果多次输入错误,会导致输入y时返回会员管理菜单。这里再一次调用修改会员这个方法
if(UserInfo.keepRework(id, age, scores, book, price, name, Jscores, st))
{
UserInfo.rework(id, age, scores, book, price, name, Jscores, st);
}
}
return b3;
}
}
/**
* 胡火云
* @author SVSE
*用户数据
*/
/**
* @since 用户数据。
* @version 2010.3.26
* @author 胡火云
*/
public class InfoDate
{
/**
* 会员帐号
* @return 会员账号
*/
public static int[] Id()
{
int id[]=new int[50];
id[0]=1100;
id[1]=1101;
id[2]=1102;
id[3]=1103;
id[4]=1104;
id[5]=1105;
id[6]=1106;
id[7]=1107;
return id;
}
/**
* 会员年龄
* @return 会员年龄
*/
public static int[] Age()
{
int age[]=new int[50];
age[0]=32;
age[1]=12;
age[2]=35;
age[3]=50;
age[4]=33;
age[5]=24;
age[6]=29;
age[7]=21;
return age;
}
/**
* 会员积分
* @return 会员积分
*/
public static int[] Scores()
{
int scores[]=new int[50];
scores[0]=1002;
scores[1]=1600;
scores[2]=500;
scores[3]=30000;
scores[4]=4535;
scores[5]=20;
scores[6]=200;
scores[7]=859;
return scores;
}
}
import java.util.Scanner;
/**
* @since 书籍管理信息:显示书籍信息,添加书籍,书籍更新,修改书籍 。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class BooksInfo
{
/**
* 显示书籍信息
* @param book 书籍名称
* @param price 书籍价格
*/
//b是判断是否在修改书籍当中价格输入错误时判断是否重新输入价格
public static boolean b=true;
//AddBook使用来判断输入的价格是否符合规范
public static boolean AddBook=true;
public static void seeBookInfo(String book[],float price[])
{
System.out.print("编号"+"\t"+"书籍信息"+"\t\t\t"+"价 格(¥)"+"\n");
//获取书籍的最大数量
for(int i=0;i<book.length;i++)
{
//获取有多少书籍,如果为空就跳出。
if(book[i]==null)
{
break;
}
System.out.print(i+"\t"+book[i]+"\t\t\t"+price[i]+"\n");
}
}
/**
* 添加书籍的方法
* @param book 书籍名称
* @param price 书籍价格
*/
public static void addBook(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[],String BookName)
{
Scanner sc=new Scanner(System.in);
//k是用来计算是否重复的计算数字。
int k;
//repeat是判断判断否重复,默认是不重复的。
boolean repeat=true;
//判断是否重复
for(k=0;k<book.length;k++)
{
//Array.equals(BookName)与BookName.equals(Array)的区别,1.Error,2.True。
if(BookName.equals(book[k]))
{
repeat=false;
break;
}
}
//如果repeat=true就接受用户输入价格否则就提示该输入的书籍已存在
if(repeat)
{
if(AddBook)
{
try
{
System.out.print("请输入价格:");
float BookPrice=sc.nextFloat();
if(BookPrice>0)
{
for(int i=0;i<book.length;i++)
{
if(book[i]==null)
{
book[i]=BookName;
price[i]=BookPrice;
break;
}
}
System.out.println("添加成功!");
//调出菜单类中的书籍管理菜单
BeginMenu.Menu_4();
//调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
else
{
System.out.println("价格必须是正数,请重新你输入价格。");
//调用书籍管理的添加书籍的方法
BooksInfo.addBook(id, age, scores, book, price, name, Jscores, BookName);
}
}
catch(Exception e)
{
//添加异常处理事件
System.out.print("你输入的价格有误!\n是否要重新输入要价格(y/n):");
BooksInfo.decidePrice();
}
}
//如果输入的价格不符合规范
else
{
//不符合规格是调用
System.out.println("添加失败!");
//为了以后能正常运行必须把AddBook重新复位为原来状态
AddBook=true;
//调出菜单类中的书籍管理菜单
BeginMenu.Menu_4();
//调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
}
else
{
System.out.println("你输入的书籍已存在!");
//调出菜单类中的书籍管理菜单
BeginMenu.Menu_4();
//调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
}
/**
* 书籍更新
* @param book 书籍名称
* @param price 书籍价格
*/
public static void deleteBook(String book[],float price[])
{
System.out.println("书店管理销售系统>书籍管理>书籍下架");
System.out.print("请输入要删除的书的书名:");
Scanner sc=new Scanner(System.in);
String name=sc.next();
int MaxBooks=0,Laction=0;
//计算书籍的数量
for(;MaxBooks<book.length;MaxBooks++)
{
if(book[MaxBooks]==null)
{
break;
}
}
//获取用户输入书籍名时在数组中的位置
for(;Laction<MaxBooks;Laction++)
{
if(book[Laction].equals(name))
{
break;
}
}
//找到的的数字应该小于找到的字符串否则就没有找到
if(Laction<MaxBooks)
{
book[Laction]=null;
price[Laction]=0.0f;
for(int i=Laction;i<MaxBooks-1;i++)
{
book[i]=book[i+1];
price[i]=price[i+1];
}
book[MaxBooks-1]=null;
price[MaxBooks-1]=0.0f;
System.out.println("删除成功!");
}
else
{
System.out.println("没有找该书籍!");
}
}
/**
* 修改书籍
* @param book 书籍名称
* @param price 书籍价格
*/
public static int reworkBook(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[],String BookName)
{
Scanner sc=new Scanner(System.in);
//贮存找到书籍位置
int priceNum=-1;
//获取书籍的数量有多少
int i;
for(i=0;i<book.length;i++)
{
if(book[i]==null)
{
break;
}
}
//记录输入书籍的位置
int j;
//找到输入书籍的位置并用变量j保存
for(j=0;j<i;j++)
{
if(book[j].equals(BookName))
{
break;
}
}
//如果找到的书籍数量小于书籍数量如果小于就提示输入新的价格否则就提示没有找到该书籍
if(j<i)
{
priceNum=j;
if(b==true)
{
//处理输入价格的异常
try
{
System.out.print("请输入新的价格:");
float BookPrice=sc.nextFloat();
price[j]=BookPrice;
System.out.println("修改成功。");
//调用菜单类中的书籍管理菜单
BeginMenu.Menu_4();
//调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
catch(Exception e)
{
System.out.println("你的输入有误,请重新输入!");
//调用书籍管理中的true_or_false的方法
BooksInfo.true_or_false();
}
}
else
{
System.out.println("修改失败!");
//把原先的值给设置回来,以免在后面在修改是发生修改失败的情况
b=true;
//调用菜单类中的书籍管理菜单
BeginMenu.Menu_4();
// //调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
}
else
{
System.out.println("没有找到该书籍。");
// 调用菜单类中的书籍管理菜单
BeginMenu.Menu_4();
//调用主要功能模块中的书籍管理方法
FunctionBlocks.function_Book(id, age, scores, book, price, name, Jscores);
}
return priceNum;
}
/**
* 判断在修改书籍时价格是否符合规格,如果不符合就把b赋值为false
* @param book
* @param price
* @param BookName
*/
public static void true_or_false()
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入(y/n):");
String s=sc.next();
//判断输入的是否为(y/n),大小写都可以
if(s.equals("y")||s.equals("Y"))
{
b=true;
}
else if(s.equals("n")||s.equals("N"))
{
b=false;
}
else
{
System.out.println("输入有误请重新输入!");
//调用书籍管理中的判断修改书籍的价格是否付合规格的方法
BooksInfo.true_or_false();
}
}
//decide(决定)输入价格不规范是调用这个方法让用户再输入价格
public static void decidePrice()
{
Scanner sc=new Scanner(System.in);
String s=sc.next();
//如果用户输入大小写也能使程序正常运行
if(s.equals("y")||s.equals("Y"))
{
AddBook=true;
}
else if(s.equals("n")||s.equals("Y"))
{
AddBook=false;
}
else
{
System.out.print("输入错误,请重新输入(Y/N):");
BooksInfo.decidePrice();
}
}
}
/**
* @since 书籍数据:书籍名称,书籍价格。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class BooksDate
{
/**
* 书籍信息
* @return 书籍名称
*/
public static String[] Book()
{
String []book=new String[50];
book[0]="开始学习Java";
book[1]="大学英语";
book[2]="教育学";
book[3]="JavaSpring";
book[4]="PhotoShop";
book[5]="C#基础";
book[6]="高等数学";
book[7]="J2SE桌面应用开发";
book[8]="毛邓";
return book;
}
/**
* 书籍的价格信息
* @return 书籍的价格
*/
public static float[] Price()
{
float price[]=new float[50];
price[0]=35.9f;
price[1]=59.0f;
price[2]=23.5f;
price[3]=60.8f;
price[4]=70.5f;
price[5]=43.2f;
price[6]=8.5f;
price[7]=78.8f;
price[8]=5.2f;
return price;
}
}
/**
* @since 菜单类:登陆菜单,主菜单,会员管理菜单,书籍管理菜单。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class BeginMenu
{
/**
* 登陆菜单
*/
public static void Menu_1()
{
System.out.println("书店管理销售系统");
System.out.println("******************************");
System.out.print(" 1.登陆"+"\n"+" 2.退出"+"\n");
System.out.println("******************************");
}
/**
*
*主菜单
*/
public static void Menu_2()
{
System.out.println("******************************");
System.out.print(" 1.会员管理"+"\n"+" 2.书籍管理"+"\n"+" 3.购物结算"+"\n"+" 4.积分兑换礼品"+"\n"+" 5.注销"+"\n");
System.out.println("******************************");
System.out.println("书店管理销售系统>主菜单");
}
/**
*
*会员管理菜单
*/
public static void Menu_3()
{
System.out.println("******************************");
System.out.print(" 1.显示所有会员信息"+"\n"+" 2.添加会员信息"+"\n"+" 3.修改会员信息"+"\n"+" 4.删除会员"+"\n"+" m.返回主菜单"+"\n");
System.out.println("******************************");
}
/**
*
*书籍管理菜单
*/
public static void Menu_4()
{
System.out.println("******************************");
System.out.print(" 1.查看书目"+"\n"+" 2.添加书籍"+"\n"+" 3.删除书籍"+"\n"+" 4.修改书籍"+"\n"+" m.返回主菜单"+"\n");
System.out.println("******************************");
}
}
/**
* @since 礼品数据:兑换礼品名称,礼品的积分 。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class DatePresent
{
/**
* 兑换礼品的名称
* @return 礼品名称
*/
public static String [] presentName()
{
String name[]=new String[50];
name[0]="USB光驱";
name[4]="21"+"\""+"电视机";
name[1]="电水壶";
name[2]="硬盘(500M)";
name[3]="诺机亚M5310";
name[5]="毛江林读本";
name[6]="红色旅游手册";
return name;
}
/**
* 礼品的积分
* @return 兑换礼品所需积分
*/
public static int [] presentScores()
{
int scores[]=new int[50];
scores[0]=5000;
scores[1]=500;
scores[2]=250;
scores[3]=1000;
scores[4]=1500;
scores[5]=100;
scores[6]=300;
return scores;
}
}
import java.util.Scanner;
/**
* @since 兑换礼品。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class ExchangePresent
{
/**
* 兑换礼品
* @param id 会员编号
* @param scores 会员积分
* @param name 礼品名称
* @param Jscores 兑换礼品积分
*/
public static void Exchange(int id[],int scores[],String name[],int Jscores[])
{
System.out.println("书店管理销售系统>积分兑换礼品");
System.out.println("******************************");
System.out.print("礼品编号\t"+"礼品名称\t\t兑换礼品所需积分\n");
for(int i=0;i<name.length;i++)
{
if(name[i]==null)
{
break;
}
System.out.print(i+"\t"+name[i]+"\t\t"+Jscores[i]+"\n");
}
System.out.println("******************************");
Scanner sc=new Scanner(System.in);
try
{
System.out.print("请输入会员账号:");
int UserId=sc.nextInt();
int k,u,m;
// 计算有多少礼品
for(k=0;k<Jscores.length;k++)
{
if(Jscores[k]==0)
{
break;
}
}
//计算有多少帐户
for(u=0;u<id.length;u++)
{
if(id[u]==0)
{
break;
}
}
//计算输入帐户的位置
for(m=0;m<u;m++)
{
if(id[m]==UserId)
{
break;
}
}
//如果账户的位置小于账户的最大位置则为true否则为false
if(m<u)
{
//验证输入的编号是否符合礼品编号
if(id[m]==UserId)
{
System.out.print("请选择你需要兑换的礼品编号:");
int presentId=sc.nextInt();
if(presentId<k)
{
int overplus =0;
overplus=scores[m]-Jscores[presentId];
if(overplus>0)
{
System.out.print("你成功兑换了"+name[presentId]+",你还有"+overplus+"分"+"\n");
scores[m]=overplus;
}
else
{
System.out.println("你积分不够,无法兑换礼品!");
}
}
else
{
System.out.println("该礼品不存在。");
}
}
}
else
{
System.out.println("你输入的帐户不存在。");
}
}
catch(Exception e)
{
System.out.println("你输入有误!");
}
}
}
import java.util.Scanner;
/**
* @since 主要功能模块:登陆信息,主菜单的功能,会员管理信息,书籍管理信息。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class FunctionBlocks
{
/**
* 登陆信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
* @param book 书籍名称
* @param price 书籍价格
* @param name 礼品名称
* @param Jscores 礼品积分
* @return 布尔类型
*/
public static boolean function_Begin(int [] id,int age[],int scores[],String book[],float price[],String name[],int Jscores[])
{
//login是为Function_Menu中的如果发生5就返回主菜单而准备的
boolean login=false;
Scanner sc=new Scanner(System.in);
//调出登陆菜单菜单
BeginMenu.Menu_1();
System.out.print("请选择:");
//进入功能选择
while(true)
{
String choice=sc.next();
if(choice.equals("1"))
{
if(LandSystem.Land())
{
function_Menu(id,age,scores,book,price,name,Jscores);
login=true;
}
break;
}
else if(choice.equals("2"))
{
System.out.print("谢谢你的使用,程序已退出!");
//系统正常退出
System.exit(0);
}
else
{
System.out.print("输入错误,请重新选择:");
}
}
//返回一个布尔值
return login;
}
/**
* 主菜单的功能
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
* @param book 书籍列表
* @param price 书籍价格
* @param name 礼品名称
* @param Jscores 礼品积分
*/
public static void function_Menu(int id[] ,int age[],int scores[],String book[],float price[],String name[],int Jscores[])
{
Scanner sc=new Scanner(System.in);
//进入主菜单
while(true)
{
BeginMenu.Menu_2();
System.out.print("请选择,输入数字:");
String n=sc.next();
if(n.equals("1"))
{
BeginMenu.Menu_3();
function_Admin(id,age,scores,book,price,name,Jscores);
}
else if(n.equals("2"))
{
BeginMenu.Menu_4();
function_Book(id,age,scores,book,price,name,Jscores);
}
else if(n.equals("3"))
{
System.out.println("书店管理销售系统>购物结算");
System.out.println("************书籍列表************");
BooksInfo.seeBookInfo(book, price);
System.out.println("*******************************");
System.out.print("请输入会员号:");
try
{
int InputId=sc.nextInt();
GoodsBalance.balance(id, scores, book, price,InputId);
}
catch(Exception e)
{
System.out.println("用户账户输入错误!");
FunctionBlocks.function_Menu(id, age, scores, book, price, name, Jscores);
}
}
else if(n.equals("4"))
{
ExchangePresent.Exchange(id, scores, name, Jscores);
}
else if(n.equals("5"))
{
//注销返回开始登陆时的菜单如果返回true就进入主菜单
if(FunctionBlocks.function_Begin(id,age,scores,book,price,name,Jscores))
{
//调用主菜单
function_Menu(id,age,scores,book,price,name,Jscores);
}
}
else
{
System.out.println("输入错误,必须是1-5之间的整数类型!");
}
}
}
/**
* 会员管理信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
* @param book 书籍名称
* @param price 书籍价格
* @param name 礼品名称
* @param Jscores 礼品积分
*/
public static void function_Admin(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[])
{
System.out.println("书店管理销售系统>会员管理");
Scanner sc=new Scanner(System.in);
System.out.print("请选择功能:");
//进入会员管理菜单
while(true)
{
String n=sc.next();
if(n.equals("1"))
{
UserInfo.showUserInfo(id, age, scores);
}
else if(n.equals("2"))
{
System.out.println("书店管理销售系统>会员信息管理>新增会员信息");
System.out.print("请输入会员账号:");
try
{
int Id=sc.nextInt();
UserInfo.addUserInfo(id, age, scores, Id, book, price, name, Jscores);
}
catch(Exception e)
{
System.out.println("输入的内容必须是整数类型的数字!");
//调出会员管理菜单
BeginMenu.Menu_3();
//调用主要功能模块中的会员管理方法让用户再次选择功能
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
else if(n.equals("3"))
{
System.out.println("书店管理销售系统>会员信息管理>修改会员信息");
System.out.print("请输入会员号:");
//try捕获异常catch处理异常
try
{
int ID=sc.nextInt();
UserInfo.rework(id, age, scores, book, price, name, Jscores, ID);
}
catch(Exception e)
{
System.out.println("输入的会员账号必须是整数类型的数字!");
//调出会员管理菜单
BeginMenu.Menu_3();
//调出会员管理菜单
FunctionBlocks.function_Admin(id, age, scores, book, price, name, Jscores);
}
}
else if(n.equals("4"))
{
UserInfo.deleteUser(id, age, scores);
}
else if(n.equals("m"))
{
function_Menu(id,age,scores,book,price,name,Jscores);
}
else if(n.equals("u"))
{
BeginMenu.Menu_3();
function_Admin(id,age,scores,book,price,name,Jscores);
}
else
{
System.out.println("输入错误,请选择会员管理菜单中显示的数字或字母!");
}
//因为这是个死循环不会走打到死循环的外面,除非调用方法
System.out.print("请按"+"\'"+"u"+"\'"+"返回会员管理菜单,或者选择功能:");
}
}
/**
* 书籍管理信息
* @param id 会员账号
* @param age 会员年龄
* @param scores 会员积分
* @param book 书籍名称
* @param price 书籍价格
* @param name 礼品名称
* @param Jscores 礼品积分
*/
public static void function_Book(int id[],int age[],int scores[],String book[],float price[],String name[],int Jscores[])
{
System.out.println("书店管理销售系统>书籍管理");
Scanner sc=new Scanner(System.in);
//进入书籍管理菜单
while(true)
{
System.out.print("请选择功能:");
String s=sc.next();
char n=s.charAt(0);
if(n=='1')
{
System.out.println("书店管理销售系统>书籍管理>书籍列表:");
BooksInfo.seeBookInfo(book, price);
}
else if(n=='2')
{
System.out.println("书店管理销售系统>书籍管理>添加书籍");
System.out.print("请输入要添加的书的书名:");
String BookName=sc.next();
while(true)
{
BooksInfo.addBook(id, age, scores, book, price, name, Jscores, BookName);
}
}
else if(n=='3')
{
BooksInfo.deleteBook(book, price);
}
else if(n=='4')
{
System.out.print("请输入要修改的书籍:");
String BookName=sc.next();
while(true)
{
BooksInfo.reworkBook(id, age, scores, book, price, name, Jscores,BookName);
}
}
else if(n=='m')
{
FunctionBlocks.function_Menu(id, age, scores, book, price,name,Jscores);
}
else if(n=='b')
{
BeginMenu.Menu_4();
FunctionBlocks.function_Book(id, age, scores, book, price,name,Jscores);
}
else
{
System.out.println("输入错误,请输入书籍管理菜单中显示的数字或字母!");
}
System.out.println("请按"+"\'"+"b"+"\'"+"返回书籍管理菜单,或者选择功能。");
}
}
}
import java.util.Scanner;
/**
* @since 物品结算。
* @version 2010.3.26
*修改人员:
* @author 胡火云
*/
public class GoodsBalance
{
/**
* 结算的内部功能
* @param id 会员账号
* @param scores 会员积分
* @param book 书籍列表
* @param price 书籍价格
* @return 购买书籍总价格
*/
static boolean b=true;
static float sumPrice=0.0f;
public static float balance(int id[],int scores[],String book[],float price[],int name)
{
Scanner sc=new Scanner(System.in);
try
{
int k,l;
//判断会员的最大数量
for(k=0;k<id.length;k++)
{
if(id[k]==0)
{
break;
}
}
//判断输入会员的位置
for(l=0;l<k;l++)
{
if(name==id[l])
{
break;
}
}
//计数用的
int i,j;
//接收用户输入书籍的数量
int num=0;
if(l<k)
{
//Num是用来存放输入书籍编号的
int Num;
//这是一个死循环,用来判断用户是否想继续输入,如果是否就直接跳出当前循环
do
{
if(b)
{
System.out.print("请输入书籍编号:");
Num=sc.nextInt();
//获取最大书籍编号
for(i=0;i<book.length;i++)
{
if(book[i]==null)
{
break;
}
}
//获取输入编号的位置
for(j=0;j<i;j++)
{
if(Num==j)
{
break;
}
}
//判断是否存在输入的编号
if(j<i)
{
System.out.print("请输入要购买的数量:");
num=sc.nextInt();
// 计算总价
sumPrice=sumPrice+price[j]*num;
}
else
{
System.out.println("你输入的编号不存在!");
}
}
else
{
break;
}
//调用是否继续方法
b=GoodsBalance.true_or_false();
}
while(true);
//计算,传值。
System.out.println("金额总计: ¥"+sumPrice);
System.out.print("交费金额: ¥");
float coin=sc.nextFloat();
//判断用户的交费金额是否小于金额总计
if((coin-sumPrice)>=0)
{
System.out.print("找零: ¥"+(coin-sumPrice)+"\n");
int JScores=(int)sumPrice/10;
System.out.print("消费积分: "+JScores+"分"+"\n");
scores[l]=JScores+scores[l];
}
else
{
//重新赋值以防以后b一直为false;
b=true;
//购买失败就把总金额复位
sumPrice=0.0f;
System.out.println("购买失败!");
}
}
//判断该会员是否存在
else
{
System.out.println("该会员不存在,购买失败!");
}
}
catch(Exception e)
{
System.out.println("输入错误,输入内容必须是整数!");
//如果异常怎么实现提示再输入
GoodsBalance.balance(id, scores, book, price, name);
}
//整个程序运行完成之后吧b的给设回来
b=true;
return sumPrice;
}
/**
* 判断是否继续进行购物结算
* @return 是否继续的布尔类型
*/
public static boolean true_or_false()
{
Scanner sc=new Scanner(System.in);
System.out.print("是否继续?(y/n):");
String s=sc.next();
//b是用来判断是否继续的的标示
if(s.equals("y"))
{
b=true;
}
else if(s.equals("n"))
{
b=false;
}
else
{
b=false;
System.out.println("输入错误,只能输入(Y/N)!");
GoodsBalance.true_or_false();
}
return b;
}
}
import java.util.Scanner;
/**
* @since 登陆系统。
* @version 2010.3.26
* @author 胡火云
*/
public class LandSystem
{
/**
* 管理登陆信息
* @return 验证是否登录成功的布尔类型
*/
public static boolean Land()
{
boolean b=false;
for(int i=3;i>0;i--)
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入账户:");
String name=sc.next();
System.out.print("请输入密码:");
String word=sc.next();
//System.out.println(word.replaceAll("\\w", "*"));
if(name.equals("svse")&&word.equals("svse"))
{
b=true;
System.out.println("书店管理销售系统!");
break;
}
else if(i==1)
{
System.out.println("你连续三次输入错误,程序被迫退出。");
System.exit(0);
}
else
{
System.out.println("账户错误或密码错误,你还有"+(i-1)+"次机会,请重新输入。");
}
}
//System.out.println("连续三次输入错误,程序被迫退出。");
//这是登陆系统的返回值(类FunctionBlocks)如果为true就调出主菜单
return b;
}
}
/**
* @since 主方法。
* @version 2010.3.26
* @author 胡火云
*/
public class MainMeans
{
/**
* 函数的入口
* @param args 参数列表
*/
public static void main(String [] args)
{
//用户帐户
int ID[]=InfoDate.Id();
//用户年龄
int Age[]=InfoDate.Age();
//用户积分
int Scores[]=InfoDate.Scores();
//书籍名称
String book[]=BooksDate.Book();
//书籍价格
float price[]=BooksDate.Price();
//礼品信息
String name[]=DatePresent.presentName();
//兑换礼品积分
int Jscores[]=DatePresent.presentScores();
//程序的开始
FunctionBlocks.function_Begin(ID,Age,Scores,book,price,name,Jscores);
}
}
- RunImg.rar (377.5 KB)
- 下载次数: 5
发表评论
-
简单的字符查找(复习数组)
2010-09-09 20:50 690package src; import java.util. ... -
石头剪刀布游戏(参考)
2010-09-09 20:49 693package src; import java.util. ... -
实现班里同学随机分组排序
2010-09-09 20:48 859package src; public class Test ... -
Java石头剪刀布游戏
2010-09-08 18:45 1056完成的不太好,但是基 ... -
Java使用正则表达式来验证邮件的正确性
2010-09-08 18:43 755初学正则表达式时写的第一个程序,有不足之处希望大家指出,谢谢! ... -
JAVA 实现选择题模式
2010-09-08 12:12 773我的思维是题目用一维数组,答案用二维数组但是实现起来非常复杂。 ... -
java注册机
2010-09-07 11:34 957public class Main { private st ... -
java-IO练习
2010-09-06 21:13 676package com.hu; import java.io ... -
JavaIO编程
2010-09-06 20:22 568import java.io.File; import jav ...
相关推荐
《图书销售管理系统-JAVA课程设计说明书》是一份详细介绍如何使用JAVA语言进行图书销售管理系统开发的文档,主要面向计算机科学与技术专业的学生。该课程设计旨在提高学生的编程技能、解决问题的能力以及用户界面...
《图书管理系统》数据库课程设计详解 本篇将详细介绍如何进行一个图书管理系统的数据库课程设计,主要涵盖需求分析、概念结构设计、逻辑结构设计、物理结构设计及编码等关键步骤。 一、需求分析 需求分析是设计...
使用JavaSE+Javaawt+MySQL搭建的一个图书销售管理系统,主要涉及一个数据库,内含四张SQL表,管理员信息表,用户信息表,订单信息表,图书信息表。其中用户表,图书表,订单表之间建立了关联关系。系统拥有 用户管理...
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了...
在本项目中,我们将探讨如何设计一个基于MySQL数据库和Java技术的图书销售系统。这个系统采用了MVC(Model-View-Controller)设计模式,利用Java Swing作为用户界面,旨在提供一个全面、高效的图书销售和管理平台。...
总结,图书管理系统Java课程设计是一个集理论与实践于一体的项目,它涵盖了Java编程基础、Web开发技术、数据库管理和软件工程等多个方面的知识,有助于学生全面掌握软件开发流程,提升实际问题解决能力。
《图书销售管理系统》是一份关于数据库课程设计的深入解析,主要涵盖了系统开发的各个关键环节,包括需求分析、系统设计、软硬件环境选择以及数据库设计等。以下将详细阐述其中的知识点。 首先,前言部分通常会介绍...
《图书销售管理系统》数据库课程设计是一项旨在通过实践学习数据库理论与应用的重要任务。该系统的主要目的是为图书馆或书店提供一个高效、便捷的图书销售和管理工具。本文将深入探讨该系统的设计理念、需求分析、软...
《基于JavaWeb的图书销售管理系统》是一个典型的大学课程设计项目,旨在帮助学生深入理解JavaWeb开发技术,并将理论知识应用于实际系统开发中。这个系统包含了数据库文件,这意味着它涵盖了数据存储、查询和管理的...
通过以上详述,我们可以看出Java图书管理系统不仅实现了基础的图书售卖功能,还引入了丰富的社交元素,如云店铺和评论管理,提高了用户参与度和粘性。其角色权限设计则保证了系统安全,报表统计则为企业决策提供了...
总结,图书销售管理系统结合了Java、Servlet等技术,构建了一个高效、可靠的图书销售管理平台。通过用户友好的界面和强大的后台支持,实现了用户和图书的精细化管理,提升了整个销售流程的效率。对于开发者来说,...
这个系统能够帮助图书馆或者书籍销售机构高效地管理图书信息、读者信息、借阅与归还记录等核心业务流程。下面将详细介绍这个系统的关键技术和功能。 一、Java技术栈 1. **Java后端开发**:Java作为后端编程语言,...
**员工管理**:系统应能够记录和管理销售部门员工的信息,包括员工的职责、业绩等,便于部门领导进行绩效评估和工作分配。\n\n2. **客户管理**:集成客户资料,包括联系信息、购买历史、反馈意见等,帮助销售人员...
除此之外,图书销售系统还需要具备库存管理、财务管理、数据分析等功能。库存管理涉及图书的入库、出库、盘点等操作,保持库存的准确性和实时性。财务管理负责处理订单款项的结算,确保账目的清晰。数据分析则通过对...
《Java图书管理系统_图书销售系统_进销存管理系统》是一个基于Java编程语言开发的应用程序,旨在为图书馆或书店提供全面的图书管理、销售和库存控制功能。这个系统涵盖了图书行业的核心业务流程,包括图书的采购、...