图书管理系统程序 求大神看一下怎么改 (浏览时有问题)别的地方也帮着看看有没有问题吧 谢谢

/*一、 创建一个用于图书管理的图书类。

(1)包含图书名称、ISBN编号 、作者、出版社、单价等属性;

(2)定义各属性的set XXXX、getXXXX方法,用于对成员变量的封闭;

(3)定义无参构造方法、带参构造方法;

(4)定义输出方法,用于输出图书对象的信息。

二、 利用图书类 ,设计新的图书库类,完成以下操作:

(1)成员变量:包含图书数组、图书数量两个属性;

(2)构造方法:以图书数量为参数,创建的图书库对象;

(3)成员方法:

  功能:添加图书

  功能:根据给定的图书ISBN编号查找图书

  功能:按出版社顺序,对所有图书进行排序

  功能:输出所有图书信息

  *从文件导入:将指定文本文件中的图书信息,写入图书库类的图书集合中(追加,或全新添加)。

  *导出到文件:将当前图书集合中的图书信息,写入指定的文本文件,以便于用户查看。(文本文件的内容是字符)

三、 利用图书库类,创建图书库管理类,使其能够通过菜单,进行图书库的管理。

(1) 设计主菜单(创建,导入,退出)

(2) 创建完成后,进入二级菜单(浏览,查找,添加,删除,排序,导出,退出)

其中的"导入"是指,从指定文件读入系统定义的图书库类对象中;

"导出"是指,将程序中的图书库类对象写入指定的文件中。

其它功能:也可以添加一个功能 ,将图书库类集合中的图书信息以文本的形式保存在文件中,用户可以直接读取文件中的文本信息。

*/

import java.util.Scanner;

import java.io.*;

  

 

class Book implements Serializable

{

private static final long serialVersionUID = 1L;

private String bookname; 

private String number;  

private String author; 

private String press;   

private String price;


public Book()

{

}


public Book(String bookname,String number,String author,String press,String price)

{

this.bookname=bookname;

this.number=number;

this.author=author;

this.press=press;

this.price=price;

}

public String getBookname()

{

return this.bookname;

}

public String getNumber()

{

return this.number;

}

public String getAuthor()

{

return this.author;

}

public String getPress()

{

return this.press;

}

public String getPrice()

{

return this.price;

}

public void setBookname(String bookname)

{

this.bookname=bookname;

}

public void setNumber(String number)

{

this.number=number;

}

public void setAuthor(String author)

{

this.author=author;

}

public void setPress(String press)

{

this.press=press;

}

public void setPrice(String price)

{

this.price=price;

}


public void speak()

{

System.out.println(this.bookname+"          "+this.number+"          "+this.author+"          "+this.press+"          "+this.price);

}

public String ToString()

{

return this.bookname+"    "+this.number+"     "+this.author+"     "+this.press+"     "+this.price;

}

}


class Library implements Serializable

{

Book[] array=new Book[100];

    Book book=new Book();

int num=0;  


public void add(String bookname,String number,String author,String press,String price)

{

array[num]=new Book(bookname,number,author,press,price);

num++;

}


public void seek(String number)

{

int i;

for(i=0;i<num;i++)

{

if(array[i].getNumber().equals(number))

{   

   System.out.println("图书         编码        作者        出版社         价格");

array[i].speak();

break;

}

}

if(i==(num+1))

{

System.out.println("查无此物");

}

}


    public void paixu()

{  

    Book t=new Book();

int i,j;

for(i=0;i<num-1;i++)

{

for(j=1;j<num;j++)

{

if(array[i].getPress().compareTo(array[j].getPress())<0)

{

t=array[i];

   array[i]=array[j];

array[j]=t;

}

   }

   }  

}

public void look()

{

System.out.println("图书           编码           作者             出版社              价格");

for(int i=0;i<num;i++)

{

array[i].speak();

}

}

    

public void delete(String bookname)

{

int i;

for(i=0;i<num;i++)

{

if(array[i].getBookname().equals(bookname))

{

array[i]=array[num-1];

num=num-1;

System.out.println("删除成功");

}

}

if(i>=num)

System.out.println("删除失败");

}


     public void daoru() throws Exception   

{

System.out.println("开始读取");

FileInputStream fis =new FileInputStream("book.txt");

ObjectInputStream ois=new ObjectInputStream(fis);

   book=(Book)ois.readObject();

ois.close();

fis.close();

System.out.println("读取成功");

}

      public void daochu()throws Exception         

 {

FileOutputStream fos=new FileOutputStream("book1.txt");

ObjectOutputStream oos=new ObjectOutputStream(fos);  

oos.writeObject(book);

fos.close();

oos.close();

System.out.println("导出成功!");

 }


     public void baocun()throws Exception

{

FileWriter fw=new FileWriter("图书管理.txt");

BufferedWriter bw=new BufferedWriter(fw);

for(int i=0;i<num;i++)

{

String line=array[i].ToString();

bw.write(line);

bw.newLine();

}

bw.close();

fw.close();

System.out.println("保存成功!");

}

}


 class Menu implements Serializable

{

public  void FirstMenu() throws Exception

{

  Library library=new Library();

System.out.println("**********图书管理**********");

System.out.println("1、创建菜单");

System.out.println("2、导入 ");

System.out.println("3、退出");

System.out.println("****************************");

System.out.println("请输入你要操作的序号");

Scanner sc=new Scanner(System.in);

int a=sc.nextInt();

switch(a)

{

case 1:

System.out.println("请输入图书数量:");

int n=sc.nextInt();

System.out.println("请输入"+n+"个图书的信息:");

for(int i=1;i<=n;i++)

{

System.out.println("输入第"+i+"个图书名称:");

  String bookname=sc.next();

  System.out.println("输入第"+i+"个图书编码:");

    String number=sc.next();

    System.out.println("输入第"+i+"个图书作者:");

    String author=sc.next();

    System.out.println("输入第"+i+"个出版社:");

    String press=sc.next();

    System.out.println("输入第"+i+"个图书价格:");

    String price=sc.next();

library.add(bookname,number,author,press,price);

}

SecondMenu();


case 2:

       library.daoru();

       SecondMenu();

case 3:

  System.out.println("谢谢使用,再见!");

System.exit(0);

         

          }

      }

      

      public  void SecondMenu() throws Exception

      {

         Library li=new Library();

         Scanner sc=new Scanner(System.in);

         do

         {

          System.out.println("**********图书管理**********"   );

System.out.println("1、浏览" );

System.out.println("2、查找"  );

System.out.println("3、添加" );

System.out.println("4、删除"  );

System.out.println("5、排序"   );

System.out.println("6、导出"   );

System.out.println("7、导入 ");

System.out.println("8、保存到文件");

System.out.println("9、退出"   );

System.out.println("****************************"  );

System.out.println("请输入你要操作的序号"   );

int b=sc.nextInt();

switch(b)

{

case 1:

System.out.println("图书信息");

li.look();

   break;

case 2:

System.out.println("输入要查看的图书编号:");

       String number=sc.next();

li.seek(number);

   break;

case 3:

System.out.println("请输入图书数量:");

int c=sc.nextInt();

System.out.println("请输入"+c+"个图书的信息:");

   for(int i=1;i<=c;i++)

{

System.out.println("输入图书名称:");

String bookname=sc.next();

System.out.println("输入图书编码:");

number=sc.next();

System.out.println("输入图书作者:");

String author=sc.next();

System.out.println("输入出版社:");

String press=sc.next();

System.out.println("输入图书价格:");

String price=sc.next();

li.add(bookname,number,author,press,price);

}

   break;

case 4:

System.out.println("输入要删除的图书名称");

String bookname=sc.next();

li.delete(bookname);

   break;

case 5:

System.out.println("按图书出版社顺序排为:");

li.paixu();

li.look();

   break;

case 6:

li.daochu();

break;

case 7:

li.daoru();

break;

case 8:

li.baocun();

   break;

case 9:

   System.exit(0);

}

         }while(true);

      }

}


class LibraryMenu implements Serializable

{

public static void main(String[] args) throws Exception

{

Menu me=new Menu();

me.FirstMenu();

}

}


慕用2047043
浏览 1440回答 4
4回答

黄小凡

天。试问,放一个这么大的程序,如果别人问你, 你愿意回答吗?你应该自己先找好自己最想知道的问题,再提问

慕粉2348509682

@_@

CAPRICE双子

报的什么错啊
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java