
正文
借书用java的源代码 用java编写借书卡程序
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用java实现
import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class DatabaseClient extends Applet implements Runnable,ActionListener
{
TextField 输入查询内容;
Choice choice=null;
Checkbox 完全一致,前方一致,后方一致,中间包含;
CheckboxGroup group=null;
Button 查询;
TextArea 显示查询结果;
Label 提示条;
Socket socket=null;
DataInputStream in=null;
DataOutputStream out=null;
Thread thread;
public void init()
{
输入查询内容=new TextField(18);
查询=new Button("查询");
choice=new Choice();
choice.add("书名");
choice.add("作者");
choice.add("出版社");
choice.select(0);
group=new CheckboxGroup();
完全一致=new Checkbox("完全一致",true,group);
前方一致=new Checkbox("前方一致",false,group);
后方一致=new Checkbox("后方一致",false,group);
中间包含=new Checkbox("中间包含",false,group);
显示查询结果=new TextArea(8,40);
提示条=new Label("正在连接到服务器,请稍等...",Label.CENTER);
提示条.setForeground(Color.red);
提示条.setFont(new Font("TimesRoman",Font.BOLD,24));
Panel box1=new Panel();
box1.add(new Label("输入查询内容:",Label.CENTER));
box1.add(输入查询内容);
box1.add(choice);
box1.add(查询);
Panel box2=new Panel();
box2.add(new Label("选择查询条件:",Label.CENTER));
box2.add(完全一致);
box2.add(前方一致);
box2.add(后方一致);
box2.add(中间包含);
Panel box3=new Panel();
box3.add(new Label("查询结果:",Label.CENTER));
box3.add(显示查询结果);
add(提示条);
add(box1);
add(box2);
add(box3);
查询.addActionListener(this);
}
public void start()
{
if(socket!=nullin!=nullout!=null)
{ try
{
socket.close();
in.close();
out.close();
}
catch(Exception ee)
{
}
}
try
{
socket=new Socket(this.getCodeBase().getHost(), 6666);
in=new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
}
catch (IOException ee)
{
提示条.setText("连接失败");
}
if(socket!=null)
{
InetAddress address=socket.getInetAddress();
提示条.setText("连接:"+address+"成功");
}
if(thread==null)
{
thread=new Thread(this);
thread.start();
}
}
public void stop()
{
try
{
socket.close();
thread=null;
}
catch(IOException e)
{
this.showStatus(e.toString());
}
}
public void run()
{
String s=null;
while(true)
{
try{
s=in.readUTF();
}
catch (IOException e)
{
提示条.setText("与服务器已断开");
break;
}
显示查询结果.append(s);
}
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==查询)
{
显示查询结果.setText(null);
String s="";
s=输入查询内容.getText();
String 范畴=choice.getSelectedItem();
String 条件=group.getSelectedCheckbox().getLabel();
if(s.length()0)
{
try{
out.writeUTF(s+":"+范畴+":"+条件);
}
catch(IOException e1)
{
提示条.setText("与服务器已断开");
}
}
else
{
输入查询内容.setText("请输入内容");
}
}
}
}
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.StringTokenizer;
public class DatabaseServer
{
public static void main(String args[])
{
ServerSocket server=null;
Server_thread thread;
Socket you=null;
while(true)
{
try
{
server=new ServerSocket(6666);
}
catch(IOException e1)
{
System.out.println("正在监听");
}
try
{
you=server.accept();
}
catch (IOException e)
{
}
if(you!=null)
{
new Server_thread(you).start();
}
else {continue;}
}
}
}
class Server_thread extends Thread
{
Socket socket;
Connection con=null;
Statement stmt=null;
ResultSet rs;
DataOutputStream out=null;
DataInputStream in=null;
String s=null;
int number=0;
Server_thread(Socket t)
{
socket=t;
try {
in=new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
}
catch (IOException e)
{
}
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try{
con=DriverManager.getConnection("jdbc:odbc:moon","","");
stmt=con.createStatement();
}
catch(SQLException ee) {}
}
public void run()
{
while(true)
{
try{
s=in.readUTF();
System.out.println(s);
String sqlCondition=null;
String 查询内容="",查询范畴="",查询条件="";
StringTokenizer fenxi=new StringTokenizer(s,":");
if(fenxi.hasMoreTokens())
{
查询内容=fenxi.nextToken();
}
if(fenxi.hasMoreTokens())
{
查询范畴=fenxi.nextToken();
}
if(fenxi.hasMoreTokens())
{
查询条件=fenxi.nextToken();
}
if(查询条件.equals("完全一致"))
{
sqlCondition=
"SELECT * FROM bookform WHERE "+查询范畴+" = "+"'"+查询内容+"' ";
}
else if(查询条件.equals("前方一致"))
{
sqlCondition=
"SELECT * FROM bookform WHERE "+查询范畴+" LIKE "+"'"+查询内容+"%' ";
}
else if(查询条件.equals("后方一致"))
{
sqlCondition=
"SELECT * FROM bookform WHERE "+查询范畴+" LIKE "+"'%"+查询内容+"' ";
}
else if(查询条件.equals("中间包含"))
{
sqlCondition=
"SELECT * FROM bookform WHERE "+查询范畴+" LIKE "+"'%"+查询内容+"%' ";
}
try{
rs=stmt.executeQuery(sqlCondition);
number=0;
while(rs.next())
{
number++;
String 书名=rs.getString("书名");
String 作者=rs.getString("作者");
String 出版社=rs.getString("出版社");
String 价格=rs.getString("价格");
Date 日期=rs.getDate("日期");
out.writeUTF("\n"+number+" "+书名+" , "+作者+","+出版社+","+价格+
","+日期);
}
if(number==0)
{
out.writeUTF("没有查询到任何记录\n");
}
}
catch(SQLException ee) {}
}
catch (IOException e)
{
try
{
socket.close();
con.close();
}
catch(Exception eee)
{
}
System.out.println("客户离开了");
break;
}
}
}
}
相关问答
Q1: java简单的借书系统
HashMap借书用java的源代码的常用方法
map的存储和修改方式 map.put(key, value);
map是否包含某个元素map.containsKey(key);
map某个key的value值map.get(key);
参考代码
import java.util.HashMap;
public class BookTest {
static HashMapString, Integer map=new HashMapString, Integer();
static{//初始化图书信息
map.put("三国志", 8);
map.put("红楼梦", 0);
map.put("西游记", 15);
}
public static void main(String[] args) {//main方法
jieShu("水浒");
jieShu("三国志");
huanShu("三国志");
jieShu("红楼梦");
huanShu("红楼梦");
jieShu("红楼梦");
}
public static void jieShu(String name){//借书
if(!map.containsKey(name)){//查询图书馆是否有这本书
System.out.println("书籍借书用java的源代码:"+name+"\t查无此书借书用java的源代码!");
return;
}
if(map.get(name)=0){//查询图书数量是否为0
System.out.println("书籍:"+name+"\t已全部借出借书用java的源代码,请明日在来");
return;
}
map.put(name, map.get(name)-1);
System.out.println("书籍:"+name+"\t借书成功。"+"\t库存:"+map.get(name));
}
public static void huanShu(String name){//还书
if(!map.containsKey(name)){
System.out.println("查无此书");
}else{
map.put(name, map.get(name)+1);
System.out.println("书籍:"+name+"\t还书成功。"+"\t库存:"+map.get(name));
}
}
}
测试输出
书籍:水浒 查无此书借书用java的源代码!
书籍:三国志 借书成功。 库存:7
书籍:三国志 还书成功。 库存:8
书籍:红楼梦 已全部借出,请明日在来
书籍:红楼梦 还书成功。 库存:1
书籍:红楼梦 借书成功。 库存:0
Q2: 用java编写一个 图书馆图书借阅管理系统
---------------------------------------------------
给你修改了三个地方:
1.borrowBooks方法中,将System.out.println("你要借吗?"); 改为:
System.out.println("你要借吗?输入1表示借,其他数字表示不借。");
保证输入的时候输入的数字,否则会报出异常。
2.borrowBooks方法中,将self[score] = all[9]; 改为:self[score] = all[i];
如果是all[9],那么就始终是最后一本书籍信息了。
3.have方法中,你是想将所借的书籍信息都打印出来。修改的比较多,下面注释代码是原来的。
void have(Books[] self) {
// for (int i = 0; i 2; i++) {
// self[i].showBookInfo();
// }
for (int i = 0; i 3; i++) {
if(self[i]!=null)
self[i].showBookInfo();
}
}
****************** 附上所有代码:*************************
import java.util.Scanner;
public class TestBook {
public static void main(String[] args) {
Books all[] = new Books[10];
Books self[] = new Books[3];
all[0] = new Books("java", 1, "12345", "tom", 34.0f, "人民出版社");
all[1] = new Books("c", 2, "12346", "tnn", 31.0f, "人民出版社");
all[2] = new Books("c++", 3, "12445", "mm", 35.0f, "人民出版社");
all[3] = new Books("c#", 4, "12365", "tt", 38.0f, "人民出版社");
all[4] = new Books("j2se", 5, "13345", "tosm", 31.1f, "人民出版社");
all[5] = new Books("j2ee", 6, "18345", "ttm", 32.0f, "人民出版社");
all[6] = new Books("jsp", 7, "12335", "cc", 33.0f, "人民出版社");
all[7] = new Books("net", 8, "12341", "bb", 36.0f, "人民出版社");
all[8] = new Books("ip", 9, "12343", "aa", 37.0f, "人民出版社");
all[9] = new Books("tcp", 10, "22345", "jj", 39.0f, "人民出版社");
Readers r = new Readers("xiaoming", 101, "1", 3);
r.searchAllBooks(all);
r.borrowBooks(all, self);
r.have(self);
r.give(all, self);
}
}
class Readers {
Scanner scan = new Scanner(System.in);
String names;
int nums;
String classes;
int grade;
int score = 0;
// Books self[]=new Books[3];
Readers(String n, int u, String c, int g) {
names = n;
nums = u;
classes = c;
grade = g;
}
void searchAllBooks(Books[] all) {// 查书
for (int i = 0; i 10; i++)
all[i].showBookInfo();
// self[score]=all[0];
}
void give(Books[] all, Books[] self) {// 还书
System.out.println("请输入您要还的书的书号");
int n = scan.nextInt();
for (int i = 0; i 10; i++) {
if (n == all[i].num) {
for (int j = 0; j 3; j++) {
if (self[j] == all[i]) {
self[j] = null;
System.out.println("还书成功");
}
}
}
}
}
void have(Books[] self) {
// for (int i = 0; i 2; i++) {
// self[i].showBookInfo();
// }
for (int i = 0; i 3; i++) {
if(self[i]!=null)
self[i].showBookInfo();
}
}
void giveMoney() {
}
void borrowBooks(Books[] all, Books[] self) {
System.out.println("请输入您要查找的书名:");
String n = scan.next();
int i;
for (i = 0; i 10; i++) {
if (n.equals(all[i].name)) {
all[i].showBookInfo();
break;
}
}
//System.out.println("你要借吗?");
System.out.println("你要借吗?输入1表示借,其他数字表示不借。");
int j;
j = scan.nextInt();
if (j == 1) {
System.out.println("借阅成功");
//self[score] = all[9];
self[score] = all[i];
score += 1;
}
if (score 4) {
System.out.println("您还可以借阅" + (3 - score) + "本");
} else {
System.out.println("对不起,一个人只能借3本");
}
}
}
class Books {
String name;
int num;
String ISBN;
String writer;
float price;
String publisher;
Books(String n, int u, String i, String w, float p, String l) {
name = n;
num = u;
ISBN = i;
writer = w;
price = p;
publisher = l;
}
void showBookInfo() {
System.out.println("**************************");
System.out.println("书名:" + name);
System.out.println("索书号:" + num);
System.out.println("ISBN号:" + ISBN);
System.out.println("价格:" + price);
System.out.println("出版社:" + publisher);
System.out.println("**************************");
}
}
----------------------------------------------------
借书用java的源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于用java编写借书卡程序、借书用java的源代码的信息别忘了在本站进行查找喔。







