跪求一份可以在MyEclipse运行的图书管理系统的源代码
1个回答
展开全部
正好前段时间写过。看下符合需求不,唉上传不了,只有全发了
//该类是程序启动入口
package cn.bbs.gz.mybms;
import java.io.IOException;
public class Test
{
public static void main(String[] args) throws IOException
{
new BookManager().showMenu();
}
}
//该类是数据存储中心
package cn.bbs.gz.mybms;
import java.util.LinkedList;
public class Books
{
static LinkedList<Book> list=new LinkedList<Book>();
static{
//初始化数据
list.add(new Book("Java核心技术123","SunWu",168,"香港旺角","J123","2013-03-15"));
list.add(new Book("Java编程思想","老马",128,"广州","G111","2013-01-26"));
list.add(new Book("Java框架集","老孙",89,"广州","S520","2013-03-17"));
list.add(new Book("HTML+CSS","老牛",99,"上海","H119","2013-03-18"));
list.add(new Book("JavaWeb开发","小丽",118,"北京","B1314","2008-08-08"));
}
}
//该类是Book模型
package cn.bbs.gz.mybms;
public class Book
{
private String name;//书名
private String author;//作者
private double price;//价钱
private String publisher;//出版社
private String isbn;//书号
private String date;//出版日期
public Book() {
}
public Book(String name, String author, double price, String publisher,
String isbn, String date) {
super();
this.name = name;
this.author = author;
this.price = price;
this.publisher = publisher;
this.isbn = isbn;
this.date = date;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
//该类是图书管理中心
package cn.itcast.gz.mybms;
import java.io.IOException;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.Scanner;
public class BookManager
{
LinkedList<Book> list = Books.list;
public void showMenu() throws IOException
{
//显示主菜单(一级菜单)
System.out.println("-------------------欢迎光临本图书管理系统-------------------");
System.out.println("(A)查看 (B)增加 (C)删除 (D)修改 (X)退出");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
if(str.equalsIgnoreCase("A"))
{
System.out.println("-------------------------查询界面--------------------------");
showSelect();
}
else if(str.equalsIgnoreCase("B"))
{
System.out.println("-------------------------增加界面--------------------------");
showAdd();
}
else if(str.equalsIgnoreCase("C"))
{
System.out.println("-------------------------删除界面--------------------------");
showDelete();
}
else if(str.equalsIgnoreCase("D"))
{
System.out.println("-------------------------修改界面--------------------------");
showUpdate();
}
else if(str.equalsIgnoreCase("X"))
{
System.out.println("系统退出");
System.exit(0);
}
else
{
System.out.println("输入无效字符!!!");
showMenu();
}
}
private void showUpdate() throws IOException
{
// -------------------------修改界面--------------------------
String name ="";//书名
String author="";//作者
double price=0.0;//价钱
String publisher="";//出版社
String isbn="";//书号
String date="";//出版日期
Scanner sc = new Scanner(System.in);//字符串
Scanner sc2 = new Scanner(System.in);//整型
Scanner sc3 = new Scanner(System.in);//double型
System.out.println("书号\t书名\t\t作者\t价格\t出版社\t编号\t出版日期");
for(int i=0;i<list.size();i++)
{
System.out.println(i+"\t"+list.get(i).getName()+"\t"+list.get(i).getAuthor()+"\t"+list.get(i).getPrice()
+"\t"+list.get(i).getPublisher()+"\t"+list.get(i).getIsbn()+"\t"+list.get(i).getDate());
}
System.out.println("请选择你要修改的书号:");
int num = sc2.nextInt();
if(num>=0 && num<list.size())
{
while(true)
{
System.out.println("请选择修改:(1)书名 (2)作者 (3)价格 (4)出版社 (5)编号 (6)出版日期 (7)保存修改 (8)退出");
int num2 = sc2.nextInt();
switch(num2)
{
case 1:
System.out.println("请输入新的书名:");
name = sc.nextLine();
break;
case 2:
System.out.println("请输入新的作者:");
author = sc.nextLine();
break;
case 3:
System.out.println("请输入新的价格:");
price = sc3.nextDouble();
break;
case 4:
System.out.println("请输入新的出版社:");
publisher = sc.nextLine();
break;
case 5:
System.out.println("请输入新的编号:");
isbn = sc.nextLine();
break;
case 6:
System.out.println("请输入新的出版日期:");
date = sc.nextLine();
break;
case 7:
/*if(!name.equals(""))
{
list.get(num).setName(name);
}
if(!author.equals(""))
{
list.get(num).setAuthor(author);
}
if(price!=0.0)
{
list.get(num).setPrice(price);
}
if(!publisher.equals(""))
{
list.get(num).setPublisher(publisher);
}
if(!isbn.equals(""))
{
list.get(num).setIsbn(isbn);
}
if(!date.equals(""))
{
list.get(num).setDate(date);
}*/
if(name.equals(""))
{
name = list.get(num).getName();
}
if(author.equals(""))
{
author = list.get(num).getAuthor();
}
if(price==0.0)
{
price = list.get(num).getPrice();
}
if(publisher.equals(""))
{
publisher = list.get(num).getPublisher();
}
if(isbn.equals(""))
{
isbn = list.get(num).getIsbn();
}
if(date.equals(""))
{
date = list.get(num).getDate();
}
list.set(num, new Book(name,author,price,publisher,isbn,date));
System.out.println("保存成功!");
break;
case 8:
showMenu();
break;
default :
System.out.println("输入不正确,请重新输入");
continue;
}
}
}
else
{
System.out.println("您输入的书号不正确!");
showUpdate();
}
}
private void showDelete() throws IOException
{
// -------------------------删除界面--------------------------
System.out.println("书号\t书名\t\t作者\t价格\t出版社\t编号\t出版日期");
for(int i=0;i<list.size();i++)
{
System.out.println(i+"\t"+list.get(i).getName()+"\t"+list.get(i).getAuthor()+"\t"+list.get(i).getPrice()
+"\t"+list.get(i).getPublisher()+"\t"+list.get(i).getIsbn()+"\t"+list.get(i).getDate());
}
System.out.println("请选择您要删除的书号:");
Scanner sc = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);
int num = sc.nextInt();
if(num>=0 && num<list.size())
{
if(list.remove(num)!=null)
{
System.out.println("删除成功!是否继续?(Y/N)");
String str = sc2.nextLine();
if(str.equalsIgnoreCase("Y"))
{
showDelete();
}
else
{
showMenu();
}
}
else
{
System.out.println("删除失败,请重新尝试");
showDelete();
}
}
else
{
System.out.println("您输入的数字不正确!");
showDelete();
}
}
private void showAdd() throws IOException
{
// -------------------------增加界面--------------------------
Scanner sc = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);
String name ="";//书名
String author="";//作者
double price=0.0;//价钱
String publisher="";//出版社
String isbn="";//书号
String date="";//出版日期
System.out.println("请输入书名:");
name = sc.nextLine();
System.out.println("请输入作者:");
author = sc.nextLine();
System.out.println("请输入价格:");
price = sc.nextDouble();
System.out.println("请输入出版社:");
publisher = sc2.nextLine();
System.out.println("请输入书号:");
isbn = sc2.nextLine();
System.out.println("请输入出版日期:");
date = sc2.nextLine();
boolean bo = list.add(new Book(name,author,price,publisher,isbn,date));
if(bo)
{
System.out.println("添加成功!");
System.out.println("您添加的书的信息是:");
System.out.println("书名:"+name);
System.out.println("作者:"+author);
System.out.println("价格:"+price);
System.out.println("出版社:"+publisher);
System.out.println("书号:"+isbn);
System.out.println("出版日期:"+date);
System.out.println("是否还要添加?(Y/N)");
String isAdd = sc2.nextLine();
if(isAdd.equalsIgnoreCase("Y"))
{
showAdd();
}
else
{
showMenu();
}
}
else
{
System.out.println("添加失败");
}
}
public void showSelect() throws IOException
{
//-------------------------查询界面--------------------------
System.out.println("书名\t\t作者\t价格\t出版社\t编号\t出版日期");
for(Book book : list)
{
System.out.println(book.getName()+"\t"+book.getAuthor()+"\t"+book.getPrice()
+"\t"+book.getPublisher()+"\t"+book.getIsbn()+"\t"+book.getDate());
}
System.out.println("请选择排序方式:(1)书名 (2)作者 (3)价格 (4)出版日期 (5)返回上一级");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
select(str.charAt(0));
showSelect();
}
private void select(char c) throws IOException
{
Comparator<Book> comparator = null;
switch(c)
{
case '1':
//按照 书名排序
comparator = new Comparator<Book>(){
@Override
public int compare(Book o1, Book o2)
{
if(o1.getName().compareTo(o2.getName())!=0)
{
return o1.getName().compareTo(o2.getName());
}
return String.valueOf(o1.getPrice()).compareTo(String.valueOf(o2.getPrice()));
}
};
break;
case '2':
//按照 作者名称排序
comparator = new Comparator<Book>(){
@Override
public int compare(Book o1, Book o2)
{
if(o1.getAuthor().compareTo(o2.getAuthor())!=0)
{
return o1.getAuthor().compareTo(o2.getAuthor());
}
return String.valueOf(o1.getPrice()).compareTo(String.valueOf(o2.getPrice()));
}
};
break;
case '3':
//按照价格排序
comparator = new Comparator<Book>(){
@Override
public int compare(Book o1, Book o2)
{
Double d1 = new Double(o1.getPrice());
Double d2 = new Double(o2.getPrice());
if(d1.compareTo(d2)!=0)
{
return d1.compareTo(d2);
}
return o1.getName().compareTo(o2.getName());
}
};
break;
case '4':
//按照出版日期排序
comparator = new Comparator<Book>(){
@Override
public int compare(Book o1, Book o2)
{
if(o1.getDate().compareTo(o2.getDate())!=0)
{
return o1.getDate().compareTo(o2.getDate());
}
return String.valueOf(o1.getPrice()).compareTo(String.valueOf(o2.getPrice()));
}
};
break;
case '5':
showMenu();
break;
default :
System.out.println("请输入合法标识");
showSelect();
break;
}
Collections.sort(list,comparator);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询