当前位置:首页 > 代码 > 正文

java图书管理系统源代码(java图书管理系统源代码书)

admin 发布:2022-12-19 17:47 113


本篇文章给大家谈谈java图书管理系统源代码,以及java图书管理系统源代码书对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

求一个java图书管理系统代码,不需要图形化,命令行就可以,只要求实现导入图书,查询,删除

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class BookWork {

    static ListBook data;

    private static Scanner input;

    public static void main(String[] args) {

        if (!initBook("d:/book.txt")) {

            System.out.println("初始图书列表失败 ..");

            return;

        }

        input = new Scanner(System.in);

        while (true) {

            try {

                System.out.println("请输入操作:");

                System.out.println("1.找书  2.删除图书 3.退出");

                int number = Integer.parseInt(input.next());

                if (number == 1) {

                    findBook();

                } else if (number == 2) {

                    delBook();

                } else if (number == 3) {

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

                    break;

                } else {

                    System.out.println("这个不是我要的...重来...");

                    System.out.println();

                }

            } catch (Exception e) {

                e.printStackTrace();

                System.out.println("这个不是我要的...重来...");

                System.out.println();

            }

        }

    }

    private static void delBook() {

        System.out.println("请输入要删除的书名或编号:");

        String key = input.next();

        if (key != null  !key.equals("")) {

            for (Book book : data) {

                if (book.number.equals(key) || book.name.contains(key)) {

                    data.remove(book);

                    System.out.println(" 图书 " + book.toString() + " 已删除");

                    return;

                }

            }

        }

        System.out.println("没有您要删除的");

    }

    private static void findBook() {

        System.out.println("请输入要查找的书名或编号:");

        String key = input.next();

        if (key != null  !key.equals("")) {

            for (Book book : data) {

                if (book.number.equals(key) || book.name.contains(key)) {

                    System.out.println("找到了 图书 " + book.toString());

                    return;

                }

            }

        }

        System.out.println("没有您要找的");

    }

    private static boolean initBook(String string) {

        try {

            System.out.println("图书导入中...");

            System.out.println("列表文件 -- " + string);

            File file = new File(string);

            if (!file.exists()) {

                return false;

            }

            data = new ArrayListBook();

            BufferedReader bufferedReader = new BufferedReader(new FileReader(file));

            String line = "";

            while ((line = bufferedReader.readLine()) != null) {

                String[] strings = line.split(",");

                Book b = new Book(strings[0], strings[1]);

                data.add(b);

                System.out.println("导入" + b.toString());

            }

        } catch (Exception e) {

            e.printStackTrace();

            return false;

        }

        return true;

    }

    public static class Book {

        String number;

        String name;

        public Book(String number, String name) {

            super();

            this.number = number;

            this.name = name;

        }

        @Override

        public String toString() {

            return "Book [编码:" + number + ", 名称:" + name + "]";

        }

    }

}

001,金瓶梅

002,杂事秘辛

003,飞燕外传

004,控鹤监秘记

005,汉宫春色

java图书管理界面系统的源代码

java swing 登陆界面code

/*

* Login.java

*

* Created on __DATE__, __TIME__

*/

package com.agen.library.window;

import java.awt.Image;

import java.awt.Toolkit;

import javax.swing.JOptionPane;

import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

import com.agen.library.factory.DAOFactory;

import com.agen.library.util.GlobalUser;

import com.agen.library.vo.User;

/**

*

* @author __USER__

*/

public class Login extends javax.swing.JFrame {

/**

*

*/

private static final long serialVersionUID = -2176093732040600809L;

/** Creates new form Login */

public Login() {

super("易云图书管理软件V1.0");

Image ime = Toolkit.getDefaultToolkit().getImage(

getClass().getResource("/images/ico.png"));

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (InstantiationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (UnsupportedLookAndFeelException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

setIconImage(ime);

initComponents();

setLocationRelativeTo(null);

this.setResizable(false);

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

// GEN-BEGIN:initComponents

// editor-fold defaultstate="collapsed" desc="Generated Code"

private void initComponents() {

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jTextField1 = new javax.swing.JTextField();

jPasswordField1 = new javax.swing.JPasswordField();

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jLabel1 = new javax.swing.JLabel();

jMenuBar1 = new javax.swing.JMenuBar();

jMenu1 = new javax.swing.JMenu();

jMenuItem1 = new javax.swing.JMenuItem();

jMenu2 = new javax.swing.JMenu();

jMenuItem2 = new javax.swing.JMenuItem();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

formKeyPressed(evt);

}

public void keyTyped(java.awt.event.KeyEvent evt) {

formKeyTyped(evt);

}

});

jLabel2.setFont(new java.awt.Font("微软雅黑", 0, 14));

jLabel2.setText("\u7528\u6237\u540d\uff1a");

jLabel3.setFont(new java.awt.Font("微软雅黑", 0, 14));

jLabel3.setText("\u5bc6 \u7801\uff1a");

jTextField1.setFont(new java.awt.Font("微软雅黑", 0, 14));

jTextField1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jTextField1ActionPerformed(evt);

}

});

jPasswordField1.setFont(new java.awt.Font("微软雅黑", 0, 12));

jPasswordField1.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent evt) {

jPasswordField1KeyTyped(evt);

}

});

jButton1.setBackground(new java.awt.Color(223, 216, 216));

jButton1.setFont(new java.awt.Font("微软雅黑", 0, 14));

jButton1.setText("\u767b\u9646");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

jButton2.setBackground(new java.awt.Color(223, 216, 216));

jButton2.setFont(new java.awt.Font("微软雅黑", 0, 14));

jButton2.setText("\u53d6\u6d88");

jButton2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

}

});

jLabel1.setIcon(new javax.swing.ImageIcon(

getClass().getResource("/images/login_main.jpg"))); // NOI18N

jMenu1.setText("File");

jMenu1.setFont(new java.awt.Font("微软雅黑", 0, 14));

jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(

java.awt.event.KeyEvent.VK_Q,

java.awt.event.InputEvent.CTRL_MASK));

jMenuItem1.setText("Exit");

jMenuItem1.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

jMenuItem1MouseClicked(evt);

}

});

jMenuItem1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jMenuItem1ActionPerformed(evt);

}

});

jMenu1.add(jMenuItem1);

jMenuBar1.add(jMenu1);

jMenu2.setText("Help");

jMenu2.setFont(new java.awt.Font("微软雅黑", 0, 14));

jMenuItem2.setText("About");

jMenuItem2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jMenuItem2ActionPerformed(evt);

}

});

jMenu2.add(jMenuItem2);

jMenuBar1.add(jMenu2);

setJMenuBar(jMenuBar1);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(

getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout

.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel1)

.addGroup(

layout.createSequentialGroup()

.addContainerGap()

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.TRAILING,

false)

.addComponent(

jLabel2,

javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(

javax.swing.GroupLayout.Alignment.LEADING,

layout.createSequentialGroup()

.addComponent(

jLabel3)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(

layout.createSequentialGroup()

.addGap(10,

10,

10)

.addComponent(

jButton1)

.addGap(47,

47,

47)

.addComponent(

jButton2))

.addComponent(

jPasswordField1)

.addComponent(

jTextField1,

javax.swing.GroupLayout.DEFAULT_SIZE,

197,

Short.MAX_VALUE))

.addContainerGap()))));

layout.setVerticalGroup(layout

.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(

layout.createSequentialGroup()

.addComponent(jLabel1)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel2)

.addComponent(

jTextField1,

javax.swing.GroupLayout.PREFERRED_SIZE,

24,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel3)

.addComponent(

jPasswordField1,

javax.swing.GroupLayout.PREFERRED_SIZE,

23,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jButton1)

.addComponent(jButton2))

.addContainerGap(

javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)));

pack();

}// /editor-fold

// GEN-END:initComponents

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

About.start();

}

private void jPasswordField1KeyTyped(java.awt.event.KeyEvent evt) {

if (evt.getKeyChar() == '\n') {

String name = jTextField1.getText(); // 获取用户名

String pass = String.valueOf(jPasswordField1.getPassword());// 获取密码

User user = null;

// 未输入用户名

if (name.equals("") || name == null) {

JOptionPane.showMessageDialog(this, "用户名不允许为空!", "cuowu", 0);

return;

}

try {

user = DAOFactory.getIUserDAOInstance().findById(name);

if (user != null) {

if (user.getPass() != null user.getPass().equals(pass)) {

GlobalUser.LOGIN_USER = user; // 记录当前用户

// 进入主界面

Main.start();

this.dispose();

} else {

JOptionPane.showMessageDialog(this, "用户名或密码错误!");

return;

}

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if (user == null) {

JOptionPane.showMessageDialog(this, "用户名或密码错误!", "消息", 0);

return;

}

}

}

private void formKeyTyped(java.awt.event.KeyEvent evt) {

}

private void formKeyPressed(java.awt.event.KeyEvent evt) {

}

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

jTextField1.setText("");

jPasswordField1.setText("");

jTextField1.requestFocus();

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String name = jTextField1.getText(); // 获取用户名

String pass = String.valueOf(jPasswordField1.getPassword());// 获取密码

User user = null;

// 未输入用户名

if (name.equals("")) {

JOptionPane.showMessageDialog(this, "用户名不允许为空!");

return;

}

try {

user = DAOFactory.getIUserDAOInstance().findById(name);

if (user != null) {

if (user.getPass() != null user.getPass().equals(pass)) {

GlobalUser.LOGIN_USER = user; // 记录当前用户

// 进入主界面

Main.start();

this.dispose();

} else {

JOptionPane.showMessageDialog(this, "用户名或密码错误!", "消息", 0);

return;

}

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if (user == null) {

JOptionPane.showMessageDialog(this, "用户名或密码错误!", "消息", 0);

return;

}

}

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {

if (JOptionPane.showConfirmDialog(this, "你确定要退出吗?", "提示",

JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {

System.exit(0);

}

}

private void jMenuItem1MouseClicked(java.awt.event.MouseEvent evt) {

System.exit(1);

}

/**

* @param args

* the command line arguments

*/

public static void main(String args[]) {

// System.out.println(Login.class.getResource("src/images/images/login_main.jpg"));

// new javax.swing.ImageIcon(

// Login.class.getResource("../../../../images/login_main.jpg"));

// new Login().setVisible(true);

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Login().setVisible(true);

}

});

}

// GEN-BEGIN:variables

// Variables declaration - do not modify

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JMenu jMenu1;

private javax.swing.JMenu jMenu2;

private javax.swing.JMenuBar jMenuBar1;

private javax.swing.JMenuItem jMenuItem1;

private javax.swing.JMenuItem jMenuItem2;

private javax.swing.JPasswordField jPasswordField1;

private javax.swing.JTextField jTextField1;

// End of variables declaration//GEN-END:variables

}

Java编写图书管理系统,使用XML存储

import java.io.File;

import java.io.FileOutputStream;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

import org.dom4j.Document;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.dom4j.io.OutputFormat;

import org.dom4j.io.SAXReader;

import org.dom4j.io.XMLWriter;

public class Book {

    private int no;

    private String name;

    private double value;

    public Book() {

    }

    public Book(int no, String name, double value) {

        this.no = no;

        this.name = name;

        this.value = value;

    }

    public double getValue() {

        return value;

    }

    public void setValue(double value) {

        this.value = value;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public int getNo() {

        return no;

    }

    public void setNo(int no) {

        this.no = no;

    }

}

class BookList {

    private ListBook bookList;

    public BookList() {

        bookList = readXML();

    }

    public long getCount() {

        return bookList.size();

    }

    public ListBook getBookList() {

        return bookList;

    }

    public void setBookList(ListBook bookList) {

        this.bookList = bookList;

    }

    public void add(Book book) {

        bookList.add(book);

    }

    public boolean delete(String name) {

        Book book = query(name);

        return bookList.remove(book);

    }

    public void update(Book bookBefore, Book bookAfter) {

        bookList.remove(bookBefore);

        add(bookAfter);

    }

    public Book query(String name) {

        Book temp = null;

        for (Book book : bookList) {

            if (book.getName().equals(name)) {

                temp = book;

            }

        }

        return temp;

    }

    public synchronized void writeXmlDocument(Book book) {

        try {

            File file = new File("D:\\book.xml");

            Document document = null;

            Element root = null;

            if (!file.exists()) {

                // 新建student.xml文件并新增内容

                document = DocumentHelper.createDocument();

                root = document.addElement("Books");//添加根节点   

            } else {

                SAXReader saxReader = new SAXReader();

                document = saxReader.read(file);

                root = document.getRootElement();//获得根节点

            }

            Element secondRoot = root.addElement("Book");//二级节点   

            //为二级节点添加属性,属性值为对应属性的值   

            secondRoot.addElement("no").setText(book.getNo() + "");

            secondRoot.addElement("name").setText(book.getName() + "");

            secondRoot.addElement("value").setText(book.getValue() + "");

            OutputFormat format = OutputFormat.createPrettyPrint();

            format.setEncoding("GBK");

            XMLWriter writer = new XMLWriter(new FileOutputStream("D:\\book.xml"), format);

            writer.write(document);

            writer.close();

            document.clearContent();

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

    public synchronized ListBook readXML() {

        ListBook list = new ArrayListBook();//创建list集合   

        File file = null;

        try {

            file = new File("D:\\book.xml");//读取文件   

            if (file.exists()) {

                SAXReader saxReader = new SAXReader();

                Document document = saxReader.read(file);

                List nodeList = document.selectNodes("Books/Book");

                for (int i = 0; i  nodeList.size(); i++) {

                    Element el = (Element) nodeList.get(i);

                    Book book = new Book();

                    book.setNo(Integer.parseInt(el.elementText("no")));

                    book.setName(el.elementText("name"));

                    book.setValue(Double.parseDouble(el.elementText("value")));

                    list.add(book);

                }

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

        return list;

    }

}

class Test {

    public static void main(String args[]) {

        BookList bl = new BookList();

        boolean bBreak = true;

        while (bBreak) {

            System.out.println("请输入操作代码:");

            System.out.println("1:添加 2:删除 3:修改 4:查询 5:书籍统计 6:退出");

            Scanner sc = new Scanner(System.in);

            int code = sc.nextInt();

            if (code == 1) {

                System.out.println("请输入编号");

                int no = sc.nextInt();

                System.out.println("请输入书名");

                String name = sc.next();

                System.out.println("请输入售价");

                double value = sc.nextDouble();

                Book book = new Book(no, name, value);

                bl.add(book);

                bl.writeXmlDocument(book);

            } else if (code == 2) {

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

                String name = sc.next();

                if (bl.delete(name)) {

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

                } else {

                    System.out.println("书籍不存在");

                }

            } else if (code == 3) {

                System.out.println("请输入要修改的书籍名");

                String name = sc.next();

                Book bookBefore = bl.query(name);

                System.out.println("请输入新的编号");

                int newNo = sc.nextInt();

                System.out.println("请输入新的书名");

                String newName = sc.next();

                System.out.println("请输入新的售价");

                double value = sc.nextDouble();

                Book bookAfter = new Book(newNo, newName, value);

                bl.update(bookBefore, bookAfter);

            } else if (code == 4) {

                System.out.println("请输入要查询的书籍名");

                String name = sc.next();

                Book book = bl.query(name);

                System.out.println("编号:" + book.getNo() + " 书名:" + book.getName() + " 售价:" + book.getValue());

            } else if (code == 5) {

                ListBook list = bl.getBookList();

                System.out.println("总书籍数:" + bl.getCount());

                for (Book book : list) {

                    System.out.println("编号:" + book.getNo() + " 书名:" + book.getName() + " 售价:" + book.getValue());

                }

            } else if (code == 6) {

                bBreak = false;

            }

        }

    }

}

jar 包  dom4j.jar  jaxen-1.1.4.jar

关于java图书管理系统源代码和java图书管理系统源代码书的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/16027.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载