请教大家一个java的编程问题。
不知我能否描述清,但我尽力吧:是这样,我现在想编一个非常简单的图书的管理系统,能完成的功能就是能添加书(书有书号、作者、出版社等基本属性),查询一本书的作者(包括名字、电...
不知我能否描述清,但我尽力吧:
是这样,我现在想编一个非常简单的图书的管理系统,能完成的功能就是能添加书(书有书号、作者、出版社等基本属性),查询一本书的作者(包括名字、电话、地址等基本属性),ok,就这些,能插入,能查找,对结果能排个序。
问题在于,我现在先不需要数据库,需要的是用容器类作为一个模拟数据库,相当于缓存(除数组外任何容器类均可),只需运行程序时能用就行,关掉程序数据丢掉无所谓。
麻烦能否帮我编一个这样的程序,要求您运行好了再给我,也就是最好没有语法错误,如果您能用gui作出来,我将再加50分!
当然,做得好的我也会加分!
对了,我还需要一个方法{比如takestring()},能列出所有书和作者信息,然后我只要system.out.println就可以打出全部书或作者的信息。
不胜感激!!!谢谢您的帮忙!!!
呵呵,也不是非常简单啦~~但也不算难题吧。。。为了对得起大家,我把基准分在提升50分^^
这样帮我编出来的朋友可以得到至少200分哦。
还有,在提供一个我的邮箱:mygpa@sina.com,可以发到我的邮箱里,非常感谢!!!辛苦了!!!
没有人帮忙么~~~我的分数都用的差不多了~~~~再说也不能再加了。。。。 展开
是这样,我现在想编一个非常简单的图书的管理系统,能完成的功能就是能添加书(书有书号、作者、出版社等基本属性),查询一本书的作者(包括名字、电话、地址等基本属性),ok,就这些,能插入,能查找,对结果能排个序。
问题在于,我现在先不需要数据库,需要的是用容器类作为一个模拟数据库,相当于缓存(除数组外任何容器类均可),只需运行程序时能用就行,关掉程序数据丢掉无所谓。
麻烦能否帮我编一个这样的程序,要求您运行好了再给我,也就是最好没有语法错误,如果您能用gui作出来,我将再加50分!
当然,做得好的我也会加分!
对了,我还需要一个方法{比如takestring()},能列出所有书和作者信息,然后我只要system.out.println就可以打出全部书或作者的信息。
不胜感激!!!谢谢您的帮忙!!!
呵呵,也不是非常简单啦~~但也不算难题吧。。。为了对得起大家,我把基准分在提升50分^^
这样帮我编出来的朋友可以得到至少200分哦。
还有,在提供一个我的邮箱:mygpa@sina.com,可以发到我的邮箱里,非常感谢!!!辛苦了!!!
没有人帮忙么~~~我的分数都用的差不多了~~~~再说也不能再加了。。。。 展开
6个回答
2009-06-05
展开全部
//LMS.java
//所有类写在一个文件内,请将以下内容保存成 LMS.java,编译运行即可,GUI版
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.Border;
public class LMS {
public static void main(String[] args){
try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){}
new LibraryGUI(new Library()).setVisible(true);
}
}
//书籍类
class Book implements Comparable<Book>{
private String name;//书名
private String publisher;//出版社
private Author au;//作者
private String sn;//书号
public Book(String name,String sn,String publisher,Author au){
this.name=name;this.sn=sn;this.publisher=publisher;this.au=au;
}
public String getName(){ return name; }
public String getPublisher(){ return publisher; }
public String getSerialNumber(){ return sn; }
public Author getAuthor(){ return au; }
public boolean equals(Object o){ return o instanceof Book && ((Book)o).sn.equals(sn); }
public String toString(){ return "书名:"+name+" 书号:"+sn+" 作者:"+au+" 出版社:"+publisher; }
//排序优先顺序:书名,作者,出版社,书号是唯一的,所以不作排序项目
public int compareTo(Book b) {
if(b.name.equals(name))
if(b.au.equals(au))
return b.publisher.compareTo(this.publisher);
else return b.au.getName().compareTo(au.getName());
else return b.name.compareTo(name);
}
}
//作者类
class Author{
private String name;
private String phone;
private String addr;
public Author(String name,String phone,String addr){
this.name=name;this.phone=phone;this.addr=addr;
}
public String getName(){ return name; }
public String getPhone(){ return phone; }
public String getAddr(){ return addr; }
public String getFullInfo(){ return "Name:"+name+" Phone:"+phone+" Addr:"+addr; }
public String toString(){ return name; }
}
//图书库类
class Library{
//存放书籍的容器
private List<Book> lib = new ArrayList<Book>();
//加入图书
public void addBook(Book b){ lib.add(b); }
//删除图书
public void removeBook(Book b){ lib.remove(b); }
//取得全部图书
public List<Book> getAllBooks(){ return lib; }
//根据条件查询图书,书名模糊查找,书号和作者精确查找
public List<Book> query(String bookName, String bookSN, String bookAu) {
List<Book> tmp = new ArrayList<Book>();
if(bookName.isEmpty())
for(int i=0; i<lib.size(); i++)
tmp.add(lib.get(i));
else
for(int i=0; i<lib.size(); i++)
if(lib.get(i).getName().indexOf(bookName)>-1)
tmp.add(lib.get(i));
if(!bookSN.isEmpty())
for(int i=0; i<tmp.size(); i++)
if(! (tmp.get(i).getSerialNumber().equals(bookSN))){
tmp.remove(i);
--i;
}
if(!bookAu.isEmpty())
for(int i=0; i<tmp.size(); i++)
if(!(tmp.get(i).getAuthor().getName().equals(bookAu))){
tmp.remove(i);
--i;
}
return tmp;
}
}
//GUI部分
class LibraryGUI extends JFrame implements ActionListener{
private JTextField bname,bpub,bsn,bauname,bauaddr,bauphone;
private JTextField qbname,qbsn,qauname;
private JPanel north,addp,add1,add2,quep,disp,mainp;
private JButton addb,queb,del;
private Library lib;
private JScrollPane jsp;
private Box box;
LibraryGUI(Library lib){
super("图书XX系统");
this.lib=lib;
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().setLayout(new BorderLayout());
this.setSize(740,600);
this.setLocationRelativeTo(null);
//新增面板
addp=new JPanel(new GridLayout(2,1));
add1=new JPanel(new FlowLayout(FlowLayout.LEFT));
add2=new JPanel(new FlowLayout(FlowLayout.LEFT));
addp.add(add1);addp.add(add2);
addp.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(10,10,10,10),BorderFactory.createLineBorder(Color.LIGHT_GRAY)));
JLabel l;
l=new JLabel("书名:");
add1.add(l);
bname=new JTextField(16);
add1.add(bname);
l=new JLabel(" 书号:");
add1.add(l);
bsn=new JTextField(20);
add1.add(bsn);
l=new JLabel(" 出版社:");
add1.add(l);
bpub=new JTextField(30);
add1.add(bpub);
l=new JLabel("作者:");
add2.add(l);
bauname=new JTextField(16);
add2.add(bauname);
l=new JLabel(" 电话:");
add2.add(l);
bauphone=new JTextField(20);
add2.add(bauphone);
l=new JLabel(" 住址:");
add2.add(l);
bauaddr=new JTextField(46);
add2.add(bauaddr);
add1.add(new JLabel(" "));
addb=new JButton(" 新 增 ");
add1.add(addb);
addb.addActionListener(this);
//查询面板
quep=new JPanel(new FlowLayout(FlowLayout.LEFT));
quep.setBorder(addp.getBorder());
l=new JLabel("书名:");
quep.add(l);
qbname=new JTextField(16);
quep.add(qbname);
l=new JLabel(" 书号:");
quep.add(l);
qbsn=new JTextField(20);
quep.add(qbsn);
l=new JLabel(" 作者:");
quep.add(l);
qauname=new JTextField(16);
quep.add(qauname);
quep.add(new JLabel(" "));
queb=new JButton(" 查 询 ");
quep.add(queb);
queb.addActionListener(this);
del=new JButton(" 删 除 ");
quep.add(del);
del.addActionListener(this);
//
north=new JPanel(new BorderLayout());
north.add(addp,BorderLayout.NORTH);
north.add(quep,BorderLayout.SOUTH);
this.getContentPane().add(north,BorderLayout.NORTH);
//显示面板
disp=new JPanel(new BorderLayout());
disp.setBorder(addp.getBorder());
this.getContentPane().add(disp);
mainp=new JPanel(new BorderLayout());
mainp.setBackground(Color.white);
box=Box.createVerticalBox();
mainp.add(box,BorderLayout.NORTH);
jsp=new JScrollPane(mainp,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
disp.add(jsp);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==addb)
createNewBook();
else if(e.getSource()==queb)
queryBook();
else if(e.getSource()==del)
removeBook();
}
private void removeBook() {
String bn=qbname.getText().trim();
String bsn=qbsn.getText().trim();
String baun=qauname.getText().trim();
if(bn.isEmpty()&&bsn.isEmpty()&&baun.isEmpty())
return;
List<Book> bks = lib.query(bn,bsn,baun);
for(int i=0; i<bks.size(); i++)
lib.removeBook(bks.get(i));
display(lib.getAllBooks());
}
private void queryBook() {
String bn=qbname.getText().trim();
String bsn=qbsn.getText().trim();
String baun=qauname.getText().trim();
display(lib.query(bn,bsn,baun));
}
private void createNewBook() {
Author au = new Author(bauname.getText().trim(),bauphone.getText().trim(),bauaddr.getText().trim());
Book bk = new Book(bname.getText().trim(),bsn.getText().trim(),bpub.getText().trim(),au);
lib.addBook(bk);
display(lib.getAllBooks());
}
private void display(List<Book> bks){
box.removeAll();
for(int i=0; i<bks.size(); i++){
Book b = bks.get(i);
System.out.println(b);
BookItem bi = new BookItem(b);
bi.setBackground(i%2==0?Color.white:new Color(0xefefef));
box.add(bi);
}
jsp.validate();
}
}
class BookItem extends JPanel{
private static Border border=BorderFactory.createCompoundBorder(
BorderFactory.createMatteBorder(0,0,1,0,Color.LIGHT_GRAY),
BorderFactory.createEmptyBorder(0,5,5,5));
BookItem(Book b){
this.setBorder(border);
this.setLayout(new FlowLayout(FlowLayout.LEFT));
String str="<html><table><tr style='color:gray;'>" +
"<td width=168>书名: <font color=#000>"+b.getName()+"</font></td>" +
"<td width=188>书号:<font color=#000>"+b.getSerialNumber()+"</font></td>" +
"<td width=138>作者:<font color=#000>"+b.getAuthor()+"</font></td>" +
"<td>出版社:<font color=#000>"+b.getPublisher()+"</font></td>" +
"</tr></table>";
this.add(new JLabel(str));
}
}
//所有类写在一个文件内,请将以下内容保存成 LMS.java,编译运行即可,GUI版
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.Border;
public class LMS {
public static void main(String[] args){
try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){}
new LibraryGUI(new Library()).setVisible(true);
}
}
//书籍类
class Book implements Comparable<Book>{
private String name;//书名
private String publisher;//出版社
private Author au;//作者
private String sn;//书号
public Book(String name,String sn,String publisher,Author au){
this.name=name;this.sn=sn;this.publisher=publisher;this.au=au;
}
public String getName(){ return name; }
public String getPublisher(){ return publisher; }
public String getSerialNumber(){ return sn; }
public Author getAuthor(){ return au; }
public boolean equals(Object o){ return o instanceof Book && ((Book)o).sn.equals(sn); }
public String toString(){ return "书名:"+name+" 书号:"+sn+" 作者:"+au+" 出版社:"+publisher; }
//排序优先顺序:书名,作者,出版社,书号是唯一的,所以不作排序项目
public int compareTo(Book b) {
if(b.name.equals(name))
if(b.au.equals(au))
return b.publisher.compareTo(this.publisher);
else return b.au.getName().compareTo(au.getName());
else return b.name.compareTo(name);
}
}
//作者类
class Author{
private String name;
private String phone;
private String addr;
public Author(String name,String phone,String addr){
this.name=name;this.phone=phone;this.addr=addr;
}
public String getName(){ return name; }
public String getPhone(){ return phone; }
public String getAddr(){ return addr; }
public String getFullInfo(){ return "Name:"+name+" Phone:"+phone+" Addr:"+addr; }
public String toString(){ return name; }
}
//图书库类
class Library{
//存放书籍的容器
private List<Book> lib = new ArrayList<Book>();
//加入图书
public void addBook(Book b){ lib.add(b); }
//删除图书
public void removeBook(Book b){ lib.remove(b); }
//取得全部图书
public List<Book> getAllBooks(){ return lib; }
//根据条件查询图书,书名模糊查找,书号和作者精确查找
public List<Book> query(String bookName, String bookSN, String bookAu) {
List<Book> tmp = new ArrayList<Book>();
if(bookName.isEmpty())
for(int i=0; i<lib.size(); i++)
tmp.add(lib.get(i));
else
for(int i=0; i<lib.size(); i++)
if(lib.get(i).getName().indexOf(bookName)>-1)
tmp.add(lib.get(i));
if(!bookSN.isEmpty())
for(int i=0; i<tmp.size(); i++)
if(! (tmp.get(i).getSerialNumber().equals(bookSN))){
tmp.remove(i);
--i;
}
if(!bookAu.isEmpty())
for(int i=0; i<tmp.size(); i++)
if(!(tmp.get(i).getAuthor().getName().equals(bookAu))){
tmp.remove(i);
--i;
}
return tmp;
}
}
//GUI部分
class LibraryGUI extends JFrame implements ActionListener{
private JTextField bname,bpub,bsn,bauname,bauaddr,bauphone;
private JTextField qbname,qbsn,qauname;
private JPanel north,addp,add1,add2,quep,disp,mainp;
private JButton addb,queb,del;
private Library lib;
private JScrollPane jsp;
private Box box;
LibraryGUI(Library lib){
super("图书XX系统");
this.lib=lib;
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().setLayout(new BorderLayout());
this.setSize(740,600);
this.setLocationRelativeTo(null);
//新增面板
addp=new JPanel(new GridLayout(2,1));
add1=new JPanel(new FlowLayout(FlowLayout.LEFT));
add2=new JPanel(new FlowLayout(FlowLayout.LEFT));
addp.add(add1);addp.add(add2);
addp.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(10,10,10,10),BorderFactory.createLineBorder(Color.LIGHT_GRAY)));
JLabel l;
l=new JLabel("书名:");
add1.add(l);
bname=new JTextField(16);
add1.add(bname);
l=new JLabel(" 书号:");
add1.add(l);
bsn=new JTextField(20);
add1.add(bsn);
l=new JLabel(" 出版社:");
add1.add(l);
bpub=new JTextField(30);
add1.add(bpub);
l=new JLabel("作者:");
add2.add(l);
bauname=new JTextField(16);
add2.add(bauname);
l=new JLabel(" 电话:");
add2.add(l);
bauphone=new JTextField(20);
add2.add(bauphone);
l=new JLabel(" 住址:");
add2.add(l);
bauaddr=new JTextField(46);
add2.add(bauaddr);
add1.add(new JLabel(" "));
addb=new JButton(" 新 增 ");
add1.add(addb);
addb.addActionListener(this);
//查询面板
quep=new JPanel(new FlowLayout(FlowLayout.LEFT));
quep.setBorder(addp.getBorder());
l=new JLabel("书名:");
quep.add(l);
qbname=new JTextField(16);
quep.add(qbname);
l=new JLabel(" 书号:");
quep.add(l);
qbsn=new JTextField(20);
quep.add(qbsn);
l=new JLabel(" 作者:");
quep.add(l);
qauname=new JTextField(16);
quep.add(qauname);
quep.add(new JLabel(" "));
queb=new JButton(" 查 询 ");
quep.add(queb);
queb.addActionListener(this);
del=new JButton(" 删 除 ");
quep.add(del);
del.addActionListener(this);
//
north=new JPanel(new BorderLayout());
north.add(addp,BorderLayout.NORTH);
north.add(quep,BorderLayout.SOUTH);
this.getContentPane().add(north,BorderLayout.NORTH);
//显示面板
disp=new JPanel(new BorderLayout());
disp.setBorder(addp.getBorder());
this.getContentPane().add(disp);
mainp=new JPanel(new BorderLayout());
mainp.setBackground(Color.white);
box=Box.createVerticalBox();
mainp.add(box,BorderLayout.NORTH);
jsp=new JScrollPane(mainp,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
disp.add(jsp);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==addb)
createNewBook();
else if(e.getSource()==queb)
queryBook();
else if(e.getSource()==del)
removeBook();
}
private void removeBook() {
String bn=qbname.getText().trim();
String bsn=qbsn.getText().trim();
String baun=qauname.getText().trim();
if(bn.isEmpty()&&bsn.isEmpty()&&baun.isEmpty())
return;
List<Book> bks = lib.query(bn,bsn,baun);
for(int i=0; i<bks.size(); i++)
lib.removeBook(bks.get(i));
display(lib.getAllBooks());
}
private void queryBook() {
String bn=qbname.getText().trim();
String bsn=qbsn.getText().trim();
String baun=qauname.getText().trim();
display(lib.query(bn,bsn,baun));
}
private void createNewBook() {
Author au = new Author(bauname.getText().trim(),bauphone.getText().trim(),bauaddr.getText().trim());
Book bk = new Book(bname.getText().trim(),bsn.getText().trim(),bpub.getText().trim(),au);
lib.addBook(bk);
display(lib.getAllBooks());
}
private void display(List<Book> bks){
box.removeAll();
for(int i=0; i<bks.size(); i++){
Book b = bks.get(i);
System.out.println(b);
BookItem bi = new BookItem(b);
bi.setBackground(i%2==0?Color.white:new Color(0xefefef));
box.add(bi);
}
jsp.validate();
}
}
class BookItem extends JPanel{
private static Border border=BorderFactory.createCompoundBorder(
BorderFactory.createMatteBorder(0,0,1,0,Color.LIGHT_GRAY),
BorderFactory.createEmptyBorder(0,5,5,5));
BookItem(Book b){
this.setBorder(border);
this.setLayout(new FlowLayout(FlowLayout.LEFT));
String str="<html><table><tr style='color:gray;'>" +
"<td width=168>书名: <font color=#000>"+b.getName()+"</font></td>" +
"<td width=188>书号:<font color=#000>"+b.getSerialNumber()+"</font></td>" +
"<td width=138>作者:<font color=#000>"+b.getAuthor()+"</font></td>" +
"<td>出版社:<font color=#000>"+b.getPublisher()+"</font></td>" +
"</tr></table>";
this.add(new JLabel(str));
}
}
展开全部
//基本功能都做完了.楼主可以再细化些. 有三个类,分别放到对应的文件里.
//注意文件名要和类名相同,注意大小.
//第一个类
public class Author {
String name;
String phone;
String address;
public Author(String name, String phone, String address) {
super();
this.address = address;
this.name = name;
this.phone = phone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
//第二个类
import java.util.ArrayList;
import java.util.List;
/*
* 能完成的功能就是能添加书(书有书号、作者、出版社等基本属性)
*/
public class Book {
String bookNum;
Author Author;
String publisher;
public Book(Author author, String bookNum, String publisher) {
super();
Author = author;
this.bookNum = bookNum;
this.publisher = publisher;
}
public String getBookNum() {
return bookNum;
}
public void setBookNum(String bookNum) {
this.bookNum = bookNum;
}
public Author getAuthor() {
return Author;
}
public void setAuthor(Author author) {
Author = author;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
}
//第三个类
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.ArrayList;
import java.util.List;
public class ManageBook {
List<Book> booklist = new ArrayList<Book>();
public List addBook(String name, String phone, String address,
String bookNum, String publish) {
Author b = new Author(name, phone, address);
Book a = new Book(b, bookNum, publish);
booklist.add(a);
return booklist;
}
public void PrintMenu() {
System.out.println("1.Add new Book " + "2.Display all book"
+ " 3.Search Author"+" 4:Quit"+"\nPlease select menu(1,2,3,4)");
}
public void takestring(){
for (int w = 0; w < this.booklist.size(); w++){
System.out.println("Book num:"+this.booklist.get(w).getBookNum()+
" Author:"+this.booklist.get(w).getAuthor().getName()+
" Author address:"+this.booklist.get(w).getAuthor().getAddress()+
" phone:"+this.booklist.get(w).getAuthor().getPhone()+
" Book publiser:"+this.booklist.get(w).getPublisher());
}
}
public static void main(String[] args) throws IOException {
ManageBook a = new ManageBook();
a.addBook("jing5083394", "13146381111", "beijing", "sn1", "publisher:china");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
while (true) {
a.PrintMenu();
String content = in.readLine();
if (content.equalsIgnoreCase("4")) {
break;
}
else if (content.equalsIgnoreCase("1")) {
String name; String phone; String address;
String bookNum; String publish;
BufferedReader in2 = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please input information for add a new to the system\r\n");
System.out.println("Please input the authroName");
String content2 = in.readLine();
name = content2;
System.out.println("Please input the phone for author");
content2 = in.readLine();
phone = content2;
System.out.println("Please input the address for author");
content2 = in.readLine();
address = content2;
System.out.println("Please input the book sn number");
content2 = in.readLine();
bookNum = content2;
System.out.println("Please input the book publisher");
content2 = in.readLine();
publish = content2;
a.addBook(name,phone,address,bookNum,publish);
System.out.println("Add book successfully\r\n");
}
else if (content.equalsIgnoreCase("2")) {
a.takestring();
}
else if (content.equalsIgnoreCase("3")) {
String name;
BufferedReader in3 = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please input the authroName");
String content3 = in3.readLine();
name = content3;
for (int w = 0; w < a.booklist.size(); w++){
if (a.booklist.get(w).getAuthor().getName().equalsIgnoreCase(name)){
System.out.println(
" Author:"+a.booklist.get(w).getAuthor().getName()+
" Author address:"+a.booklist.get(w).getAuthor().getAddress()+
" Author phone:"+a.booklist.get(w).getAuthor().getPhone()
);
}
else
System.out.println("No found this authro");
}
}
else {
System.out.println("Invalid selections!\n");
}
}
// System.out.println(lookup(host));
}
}
//注意文件名要和类名相同,注意大小.
//第一个类
public class Author {
String name;
String phone;
String address;
public Author(String name, String phone, String address) {
super();
this.address = address;
this.name = name;
this.phone = phone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
//第二个类
import java.util.ArrayList;
import java.util.List;
/*
* 能完成的功能就是能添加书(书有书号、作者、出版社等基本属性)
*/
public class Book {
String bookNum;
Author Author;
String publisher;
public Book(Author author, String bookNum, String publisher) {
super();
Author = author;
this.bookNum = bookNum;
this.publisher = publisher;
}
public String getBookNum() {
return bookNum;
}
public void setBookNum(String bookNum) {
this.bookNum = bookNum;
}
public Author getAuthor() {
return Author;
}
public void setAuthor(Author author) {
Author = author;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
}
//第三个类
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.ArrayList;
import java.util.List;
public class ManageBook {
List<Book> booklist = new ArrayList<Book>();
public List addBook(String name, String phone, String address,
String bookNum, String publish) {
Author b = new Author(name, phone, address);
Book a = new Book(b, bookNum, publish);
booklist.add(a);
return booklist;
}
public void PrintMenu() {
System.out.println("1.Add new Book " + "2.Display all book"
+ " 3.Search Author"+" 4:Quit"+"\nPlease select menu(1,2,3,4)");
}
public void takestring(){
for (int w = 0; w < this.booklist.size(); w++){
System.out.println("Book num:"+this.booklist.get(w).getBookNum()+
" Author:"+this.booklist.get(w).getAuthor().getName()+
" Author address:"+this.booklist.get(w).getAuthor().getAddress()+
" phone:"+this.booklist.get(w).getAuthor().getPhone()+
" Book publiser:"+this.booklist.get(w).getPublisher());
}
}
public static void main(String[] args) throws IOException {
ManageBook a = new ManageBook();
a.addBook("jing5083394", "13146381111", "beijing", "sn1", "publisher:china");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
while (true) {
a.PrintMenu();
String content = in.readLine();
if (content.equalsIgnoreCase("4")) {
break;
}
else if (content.equalsIgnoreCase("1")) {
String name; String phone; String address;
String bookNum; String publish;
BufferedReader in2 = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please input information for add a new to the system\r\n");
System.out.println("Please input the authroName");
String content2 = in.readLine();
name = content2;
System.out.println("Please input the phone for author");
content2 = in.readLine();
phone = content2;
System.out.println("Please input the address for author");
content2 = in.readLine();
address = content2;
System.out.println("Please input the book sn number");
content2 = in.readLine();
bookNum = content2;
System.out.println("Please input the book publisher");
content2 = in.readLine();
publish = content2;
a.addBook(name,phone,address,bookNum,publish);
System.out.println("Add book successfully\r\n");
}
else if (content.equalsIgnoreCase("2")) {
a.takestring();
}
else if (content.equalsIgnoreCase("3")) {
String name;
BufferedReader in3 = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please input the authroName");
String content3 = in3.readLine();
name = content3;
for (int w = 0; w < a.booklist.size(); w++){
if (a.booklist.get(w).getAuthor().getName().equalsIgnoreCase(name)){
System.out.println(
" Author:"+a.booklist.get(w).getAuthor().getName()+
" Author address:"+a.booklist.get(w).getAuthor().getAddress()+
" Author phone:"+a.booklist.get(w).getAuthor().getPhone()
);
}
else
System.out.println("No found this authro");
}
}
else {
System.out.println("Invalid selections!\n");
}
}
// System.out.println(lookup(host));
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我给你介绍下你应该怎么写吧,因为我没有时间,而且我觉得这些问题还是自己
写出来才有效果,别人的东西并不是自己的,
1.设计二个基本类,一个是作者类,一个是书类,各添加他们的属性,
并set(),get().这个你应该明白的,可以参考楼上的代码,用eclipse
可以直接生成的。
2.设计一个管理类,也就是常用的功能。我认为容器类应该用set比较好点,set
可以自动排序,也不可以重复。插入方法比较简单,直接用相应的set方法就
可以了,然后将其对象放入容器类中,查找也不难,容器类有很多查找方法
具体可以看容器类的api,排序也一样,api中有对应的方法,只要自己动手
还是不太难的。
3.注意作者类和书类在插入的时候注意相互的关系,注意set()。
4.takestring()方法也一样的道理,api中有列出所有容器类中的对象
方法。
其实我感觉楼主是自己懒,看你问的这么细,感觉你自己动手做应该没问题的
,如果觉得还不行的话,我这里有个ATM小程序,和你这个功能差不多,还有
简单的gui设计呢,你稍加改动就可以完成的。花不了几个小时,希望你自己动
手比较好,能学到东西。
ATM源代码就给你发去了。
写出来才有效果,别人的东西并不是自己的,
1.设计二个基本类,一个是作者类,一个是书类,各添加他们的属性,
并set(),get().这个你应该明白的,可以参考楼上的代码,用eclipse
可以直接生成的。
2.设计一个管理类,也就是常用的功能。我认为容器类应该用set比较好点,set
可以自动排序,也不可以重复。插入方法比较简单,直接用相应的set方法就
可以了,然后将其对象放入容器类中,查找也不难,容器类有很多查找方法
具体可以看容器类的api,排序也一样,api中有对应的方法,只要自己动手
还是不太难的。
3.注意作者类和书类在插入的时候注意相互的关系,注意set()。
4.takestring()方法也一样的道理,api中有列出所有容器类中的对象
方法。
其实我感觉楼主是自己懒,看你问的这么细,感觉你自己动手做应该没问题的
,如果觉得还不行的话,我这里有个ATM小程序,和你这个功能差不多,还有
简单的gui设计呢,你稍加改动就可以完成的。花不了几个小时,希望你自己动
手比较好,能学到东西。
ATM源代码就给你发去了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,貌似不难咯,,,,可惜时间不够用哈..................
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要花点时间写才行哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询