创建项目ArticleManagee,创建类Article,添加4个属性:书籍名称(name)、书籍库存数量(amount)、书籍价格(price)、
书籍借出数量(number),1个方法展示书籍信息。
package tushuguanlixitong;
/**
* 书籍类
*/
public class Article {
public String name; //书籍名称
public int amount; //书籍库存数量
public double price; //书籍价格
public int number; //书籍出售数量
/*
书籍信息展示
*/
public void print(int index){
System.out.println(index + "\t" + name + "\t" + price +"\t" + amount + "\t" + number);
}
}
创建ArticleSet类,并在类中定义1个长度为50的数组保存商品。
public class ArticleSet {
public static Article[] articles;
/*
书籍合集(仓库)
*/
Article[] articlse = new Article[50];
}
创建类ArticleManage,创建AricleSe对象articleSet,实现初始化数据的方法initial(),初始化4本书籍的信息
/*
管理类
*/
// 创建一个实体的仓库对象,并初始化
ArticleSet articleSet = new ArticleSet();
Scanner input = new Scanner(System.in);
/*
初始化商品
*/
public void initial() {
Article jinpinmei = new Article();
jinpinmei.name = "金品梅";
jinpinmei.price = 648;
jinpinmei.amount = 1000;
jinpinmei.number = 0;
Article liaozhai = new Article();
liaozhai.name = "聊斋志异";
liaozhai.price = 199;
liaozhai.amount = 2000;
liaozhai.number = 0;
Article rulinwaishi = new Article();
rulinwaishi.name = "儒林外史";
rulinwaishi.price = 648;
rulinwaishi.amount = 1000;
rulinwaishi.number = 0;
Article sanguoyanyi = new Article();
sanguoyanyi.name = "三国演义";
sanguoyanyi.price = 648;
sanguoyanyi.amount = 1000;
jinpinmei.number = 0;
articleSet.articlse[0] = jinpinmei;
articleSet.articlse[1] = liaozhai;
articleSet.articlse[2] = rulinwaishi;
articleSet.articlse[3] = sanguoyanyi;
}
/*
菜单切换
*/
public void startMenu() {
boolean flag = true;//是否继续操作
do {
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("5.归还图书");
System.out.println("6.退出");
System.out.println("---------------------------------------");
System.out.println("请选择要执行的操作:");
int choice = input.nextInt();
switch (choice) {
case 1:
System.out.println("查看图书信息");
break;
case 2:
System.out.println("新增图书");
break;
case 3:
System.out.println("删除图书");
break;
case 4:
System.out.println("借出图书");
break;
case 5:
System.out.println("归还图书");
break;
case 6:
System.out.println("谢 谢 使 用!");
flag = false;
break;
default:
System.out.println("输入不符合要求请重新选择!");
break;
}
} while (flag);
} public void search(){
System.out.println("编号\t名称\t价格\t库存\t售出");
for (int i = 0; i < ArticleSet.articles.length; i++) {
if (ArticleSet.articles[i] != null) {
ArticleSet.articles[i].print(i + 1);
}
}
/**
* 查看商品信息
*/
}public void add(){
System.out.println("请输入书籍名称");
String name = input.next();
System.out.println("请输入价格");
int price = input.nextInt();
System.out.print("请输入库存:");
int amount = input.nextInt();
Article article = new Article();
article.name = name;
article.price = price;
article.amount = amount;
article.number = 0;
for (int i = 0 ; i < articleSet.articlse.length; i++){
if (articleSet.articlse[i] == null){
articleSet.articlse[i] =article;
break;
}
}
/**
* 归还书籍
*/
}public void delete() {
System.out.println("请输入书籍编号:");
boolean flag = true ; //是否归还成功
int card = input.nextInt();
for (int i = 0; i < articleSet.articlse.length;i++){
if (articleSet.articlse[i]!= null&&(i+1)==card){
int j=i;
while (articleSet.articlse[j+i]!=null){
articleSet.articlse[j]=articleSet.articlse[j+i];
j++;
}
articleSet.articlse[j] = null;
flag = true;
break;
}else {
flag = false;
}
}
if (flag){
System.out.println("归还成功");
}else {
System.out.println("归还失败,号码错误,请重新操作!");
}
}public void leaderboard() {
Article[] articles = new Article[50];
for (int i = 0; i < articles.length; i++) {
if (ArticleSet.articles[i] != null) {
articles[i] = ArticleSet.articles[i];
}
}
for (int i = 0; i < articles.length - 1; i++) {
for (int j = 0; j < articles.length - i - 1; j++) {
if (articles[j].number < articles[j + 1].number) {
Article temoArticle = articles[j];
articles[j] = articles[j + 1];
articles[j + 1] = temoArticle;
}
}
}
System.out.println("*******************************");
System.out.println("名次\t销售量\t商品名称");
for (int i = 0 ; i < articles.length;i++){
if (articles[i]!= null){
System.out.println( + 1 + " \t" +articles[i].number + "\t"+ articles[i].name);
}
}
}
}
代码有部分错误,我会加以改正