java 图书馆管理系统(超低配版)

2023-11-15

目录

图书管理系统要求

思路

show()方法

add()方法

search方法

delete()方法

代码

接口

Book类

 Reader类

User类

Informatica类

BookList类

ReaderList类

UserList类

IFList类

main

收获

调试时出现的错误


 

图书管理系统要求

实现图书管理系统的用户交互功能,包括用户菜单的显示与用户选择菜单后对数据的新增、删除、查询、列表等功能(分别实现对图书信息、读者信息、借阅信息和用户信息的操作)。具体实现的功能菜单如下:

0:系统退出

1:图书信息列表显示 

2:图书信息新增

3:图书信息删除

4:图书信息查找(按书名查找)

5:读者信息列表显示

6:读者信息新增

7:读者信息删除

8:读者信息查找(按姓名查找)

9:借阅信息列表显示

10:借阅信息新增

11:借阅信息删除

12:借阅信息查找(按书名查找)

13:用户信息列表显示

14:用户信息新增

15:用户信息删除

16:用户信息查找(按用户名查找)

17:要求使用io流操作文件进行信息的删改

思路

创建四个文件:读者信息.txt,借阅信息.txt,图书信息.txt,用户信息.txt   。当做数据库。用io输入输出。

对于每个信息库的操作都是四个:show-显示,add-增添,delete-删除,search-查找。所以可以用接口把他们串联起来。

show()方法

将文件里的所有信息都读出来。

public void show() {
    //创建文件读取对象和字符流对象
    File file=new File("文件");
    FileReader f=null;		
    BufferedReader f1=null;	
	f=new FileReader(file);
	f1=new BufferedReader(f);
	String str=null;
    //按读写,输出。
	while((str=f1.readLine())!=null) 
	    System.out.println(str);
	//关闭			
	f1.close();
	f.close();
}			
				

add()方法

输入要添加到文本文件中的字符串。

将字符串添加至文件的末尾。

public void add() {
    Scanner in = new Scanner(System.in);
    //输入想要添加的信息
	String s1=in.nextLine();
    //打开
    File file=new File("文件");
	FileWriter f=null;
	BufferedWriter f1=null;
	f=new FileWriter("文件",true);//追加
	f1=new BufferedWriter(f);
	//添加到文本
	f1.write(s1);
    //添加换行
	f1.newLine();
	//关闭
    f1.close();
	f.close();
}

search方法

将文本文件按行提取,因为我们提前知道类的成员数据的个数n,所以按照每n行(每n个字符串)构造一个该类对象,然后用插入list中。

输入 相应的数值 ,在list中搜索,输出。

public void search() {
	Scanner in = new Scanner(System.in);
	//输入需要查询的信息
    //打开
    String s=in.nextLine();
	File file=new File("文件");
	FileReader f=null;		//文件读取对象
	BufferedReader f1=null;	//字符流对象
	f=new FileReader(file);
	f1=new BufferedReader(f);
	String str=null;			
    long js=1;//记录第几个字符串
	//假设该类有三个数据成员    n=3
    String s1=null;
	String s2=null;
	String s3=null;
    //逐行提取
	while((str=f1.readLine())!=null) {
		if(js%3==1)
			s1=str;
		if(js%3==2)
			s2=str;
		if(js%3==0) {
			s3=str;
			Book _book=new Book(s1,s2,s3);
			booklist.add(_book);
		}
		js++;
	}
    //关闭
	f1.close();
	f.close();
    //遍历list
	for (Book i : booklist) 
		if(i.getName().equals(s)) 
			i.show();   
}

delete()方法

和search()方法一样,从文本文件中提取,构造类,插入list 。

然后遍历,找相关的信息,从list中删除。

全部重新写入文本文件。

public void delete() {
	Scanner in = new Scanner(System.in);
	//输入要删除的信息
	String s11=in.nextLine();
    //打开
    File file=new File("文件");
	FileReader f=null;		//文件读取对象
	BufferedReader f1=null;	//字符流对象
	f=new FileReader(file);
	f1=new BufferedReader(f);
	String str=null;
	long js=1;//记录第几个字符串 假设有三个 n=3
	String s1=null;
	String s2=null;
	String s3=null;
    //从文件中读取数据
	while((str=f1.readLine())!=null) {
		if(js%3==1)
			s1=str;
		if(js%3==2)
			s2=str;
		if(js%3==0) {
			s3=str;
            //构造对象
	        Book _book=new Book(s1,s2,s3);
            //插入list中
            booklist.add(_book);
		}
        js++;
    }
    //关闭
    f1.close();
    f.close();
	//遍历list,搜索是否有相应数据
	for (int i = 0; i < booklist.size(); i++) {
		if(booklist.get(i).getName().equals(s11) 
            && booklist.get(i).getAuthor().equals(s22) 
            && booklist.get(i).getPrice().equals(s33)) { 
			//在list中删除 相应的数据
            booklist.remove(i);
    //打开
	FileWriter ff=null;
	BufferedWriter f11=null;
	ff=new FileWriter("src\\图书信息.txt");
	f11=new BufferedWriter(ff);
	//添加到文本
	for(int i = 0; i < booklist.size(); i++) {
		String s111=booklist.get(i).getName();
		String s222=booklist.get(i).getAuthor();
		String s333=booklist.get(i).getPrice();
		f11.write(s111);
		f11.newLine();
		f11.write(s222);
		f11.newLine();
		f11.write(s333);
		f11.newLine();
    }
	//关闭
	f11.close();
	ff.close();
}

注释:可以只改变需要删除的文本,然后后面的文本补上去。详见:

 

代码

c6e49a945be14cd4acb2f709e1ddb74d.png

接口

package library;

public interface Opretor {
    public abstract void show();
	public abstract void add();
	public abstract void delete();
	public abstract void search();
}

operate拼错了,高中就不会拼这个词。 

Book类

数据成员:书名 name,作者 author,价格  price

package library;

public class Book {
	//书名,作者,价格
	private String name;
	private String author;
	private String price;
	
	Book() {}
	
	Book(String _name,String _author,String _price) {
		this.name=_name;
		this.author=_author;
		this.price=_price;
	}
	
	public void setName(String _name) {
		this.name=_name;
	}
	
	public String getName() {
		return name;
	}
	
	public void setAuthor(String _author) {
		this.author=_author;
	}
	
	public String getAuthor() {
		return author;
	}

	public void setPrice(String _price) {
		this.price=_price;
	}
	
	public String getPrice() {
		return price;
	}
 	
    public void show() {
		System.out.println("Name:                   "+name);
		System.out.println("Author:                 "+author);
		System.out.println("Price:                  "+price);
    }

}

个人感觉set方法没有必要写,但还是写了,显得代码长。

 Reader类

数据成员:读者姓名 name、年龄 age、性别 sex、电话 tel、所在院系 college

package library;

public class Reader {
	//读者姓名、年龄、性别、电话、所在院系
	private String name;
	private String age;
	private String sex;
	private String tel;
	private String college;
	
	public Reader() {}
	
	public Reader(String _name,String _age,String _sex,String _tel,String _college){
		this.name=_name;
		this.age=_age;
		this.sex=_sex;
		this.tel=_tel;
		this.college=_college;
	}
	
	public void setName(String _name) {
		this.name=_name;
	}
	
	public String getName() {
		return name;
	}
	
	public void setAge(String _age) {
		this.age=_age;
	}
	
	public String getAge() {
		return age;
	}

	public void setSex(String _sex) {
		this.sex=_sex;
	}
		
	public String getSex() {
		return sex;
	}

	public void setTel(String _tel) {
		this.tel=_tel;
	}
		
	public String getTel() {
		return tel;
	}
		
	public void setCollege(String _college) {
		this.college=_college;
	}
		
	public String getCollege() {
		return college;
	}
		
	public void show() {
		System.out.println("Name:                   "+name);
		System.out.println("Age:                    "+age);
		System.out.println("Sex:                    "+sex);
		System.out.println("Tel:                    "+tel);
		System.out.println("College:                "+college);
	}

}

User类

继承Reader类,添加了数据成员:账号 accountnumber ,密码 password

package library;

public class User extends Reader{
	String password;
	String accountnumber;
	
	User(){}
	
	User(String _accountnumber,String _password,String _name,String _age,
            String _sex,String _tel,String _college){
		super(_name,_age,_sex,_tel,_college);
		this.password=_password;
		this.accountnumber=_accountnumber;
	}
	
	public void setAccountnumber(String _accountnumber) {
		this.accountnumber=_accountnumber;
	}
	
	public String getAccountnumber() {
		return accountnumber;
	}
	
	public void setPassword(String _password) {
		this.password=_password;
	}
	
	public String getPassword() {
		return password;
	}

}

Informatica类

借阅信息 由Reader和Book 的两个对象和 数据成员 状态 state 组成。

状态 state 用 "借出" "在馆" 表示。

为什么用Reader而不是User???数据成员太多了。

注释:感觉可以在数据一一对应,分别从读者信息,图书信息 两个库中提取 ,将状态存放在Book类中(假设每种图书为一种)或者 放入Reader类中 。

package library;

import java.text.SimpleDateFormat;
import java.util.Date;
import library.Book;

public class Informatica {
	Book book;
	Reader reader;
	String state;
	
	Informatica(){}
	
	Informatica(String _bname,String _author,String _price,String _name,
            String _age,String _sex,String _tel,String _college,String _state){
		this.book=new Book(_bname,_author,_price);
		this.reader=new Reader(_name,_age,_sex,_tel,_college);
		this.state=_state;
	}
	
	public String getState() {
		return state;
	}

}

BookList类

package library;

import java.io.*;
import java.util.LinkedList;
import java.util.Scanner;

public class BookList implements Opretor{
	
	private LinkedList<Book> booklist=new LinkedList<Book>();
	
	BookList(){}
	
	public void show() {
		//应该取出后,构造成类,用类的show方法显示
		//或者 在每个提出的字符串前面 加上 该字符串的信息 如 书名:天龙八部
		File file=new File("src\\图书信息.txt");
		FileReader f=null;		//文件读取对象
		BufferedReader f1=null;	//字符流对象
		//判断文件是否存在,如果不存在则创建一个文件。
		if(file.exists()) {
			//应该判断文件是否为空
			if(file.length()==0)
				System.out.println("馆中暂无信息,请先添加信息。");
			else {
				try {
					f=new FileReader(file);
					f1=new BufferedReader(f);
					String str=null;
					while((str=f1.readLine())!=null) {
						System.out.println(str);
					}
				} catch (Exception e1) {
					// TODO: handle exception
				}finally {
					try {
						f1.close();
						f.close();
					} catch (Exception e2) {
						// TODO: handle exception
					}
				}
			}
		}
		else {
			if(file.length()==0)
				System.out.println("馆中暂无信息,请先添加信息。");
			else {
				try {
					file.createNewFile();
					try {
						f=new FileReader(file);
						f1=new BufferedReader(f);	
						String str=null;
						while((str=f1.readLine())!=null) {
							System.out.println(str);
						}
					} catch (Exception e3) {
						// TODO: handle exception
					}finally {
						try {
							f1.close();
							f.close();
						} catch (Exception e4) {
							// TODO: handle exception
						}
					}
				} catch (Exception e5) {
					// TODO: handle exception
				}
			}	
		}
	}
	
	public void add() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入书名");
		String s1=in.nextLine();
		System.out.println("请输入作者");
		String s2=in.nextLine();
		System.out.println("请输入价格");
		String s3=in.nextLine();
		File file=new File("src\\图书信息.txt");
		FileWriter f=null;
		BufferedWriter f1=null;
		try {
			f=new FileWriter("src\\图书信息.txt",true);//追加
			f1=new BufferedWriter(f);
		//添加到文本
			f1.write(s1);
			f1.newLine();
			f1.write(s2);
			f1.newLine();
			f1.write(s3);
			f1.newLine();
			System.out.println("添加成功。");
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
	}
	
	public void delete() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入书名");
		String s11=in.nextLine();
		System.out.println("请输入作者");
		String s22=in.nextLine();
		System.out.println("请输入价格");
		String s33=in.nextLine();
		File file=new File("src\\图书信息.txt");
		FileReader f=null;		
		BufferedReader f1=null;	
		try {
			f=new FileReader(file);
			f1=new BufferedReader(f);
			String str=null;
			long js=1;//记录第几个字符串
			String s1=null;
			String s2=null;
			String s3=null;
			while((str=f1.readLine())!=null) {
				if(js%3==1)
					s1=str;
				if(js%3==2)
					s2=str;
				if(js%3==0) {
					s3=str;
					Book _book=new Book(s1,s2,s3);
					booklist.add(_book);
				}
				js++;
			}
		} catch (Exception e1) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
		boolean isdelete=false;
		for (int i = 0; i < booklist.size(); i++) {
			if(booklist.get(i).getName().equals(s11) 
                    && booklist.get(i).getAuthor().equals(s22) 
                    && booklist.get(i).getPrice().equals(s33)) { 
				booklist.remove(i);
			 	isdelete=true;
			}
		 }
		if(isdelete) {
			System.out.println("删除成功。");
			FileWriter ff=null;
			BufferedWriter f11=null;
			try {
				ff=new FileWriter("src\\图书信息.txt");
				f11=new BufferedWriter(ff);
				for(int i = 0; i < booklist.size(); i++) {
					String s111=booklist.get(i).getName();
					String s222=booklist.get(i).getAuthor();
					String s333=booklist.get(i).getPrice();
					f11.write(s111);
					f11.newLine();
					f11.write(s222);
					f11.newLine();
					f11.write(s333);
					f11.newLine();
				}
			} catch (Exception e) {
			// TODO: handle exception
			}finally {
				try {
					f11.close();
					ff.close();
				} catch (Exception e2) {
					// TODO: handle exception
				}
			}
		}
		else
			System.out.println("馆中并未找到该书信息。\n请核对后,重新输入。");
	}
	
	public void search() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入书名");
		String s=in.nextLine();
		File file=new File("src\\图书信息.txt");
		FileReader f=null;		//文件读取对象
		BufferedReader f1=null;	//字符流对象
		try {
			f=new FileReader(file);
			f1=new BufferedReader(f);
			String str=null;
			long js=1;//记录第几个字符串
			String s1=null;
			String s2=null;
			String s3=null;
			while((str=f1.readLine())!=null) {
				if(js%3==1)
					s1=str;
				if(js%3==2)
					s2=str;
				if(js%3==0) {
					s3=str;
					Book _book=new Book(s1,s2,s3);
					booklist.add(_book);
				}
				js++;
			}
		} catch (Exception e1) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
		boolean issearch=false;
		for (Book i : booklist) {
			if(i.getName().equals(s)) {
				i.show();
				issearch=true;
			}
        }
		if(!issearch) 
			System.out.println("查无此书。\n请核对后重新输入。");
	}
	
	public void clear() {
		booklist.clear();
	}
	
}

ReaderList类

package library;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.LinkedList;
import java.util.Scanner;

public class ReaderList implements Opretor{
	
	private LinkedList<Reader> readerlist=new LinkedList<Reader>();
	
	ReaderList(){}
	
	public void show() {
		File file=new File("src\\读者信息.txt");
		FileReader f=null;		
		BufferedReader f1=null;	
		if(file.exists()) {
			if(file.length()==0)
				System.out.println("馆中暂无信息,请先添加信息。");
			try {
				f=new FileReader(file);
				f1=new BufferedReader(f);
				String str=null;
				while((str=f1.readLine())!=null) {
					System.out.println(str);
				}
			} catch (Exception e1) {
				// TODO: handle exception
			}finally {
				try {
					f1.close();
					f.close();
				} catch (Exception e2) {
					// TODO: handle exception
				}
			}
		}else {
			if(file.length()==0)
				System.out.println("馆中暂无信息,请先添加信息。");
			try {
				file.createNewFile();
				try {
					f=new FileReader(file);
					f1=new BufferedReader(f);	
					String str=null;
					while((str=f1.readLine())!=null) {
						System.out.println(str);
					}
				} catch (Exception e3) {
					// TODO: handle exception
				}finally {
					try {
						f1.close();
						f.close();
					} catch (Exception e4) {
						// TODO: handle exception
					}
				}
			} catch (Exception e5) {
				// TODO: handle exception
				}
			}
		}
	
	public void add() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入姓名");
		String s1=in.nextLine();
		System.out.println("请输入年龄");
		String s2=in.nextLine();
		System.out.println("请输入性别");
		String s3=in.nextLine();
		System.out.println("请输入电话");
		String s4=in.nextLine();
		System.out.println("请输入所在院系");
		String s5=in.nextLine();
		File file=new File("src\\读者信息.txt");
		FileWriter f=null;
		BufferedWriter f1=null;
		try {
			f=new FileWriter("src\\读者信息.txt",true);//追加
			f1=new BufferedWriter(f);
			f1.write(s1);
			f1.newLine();
			f1.write(s2);
			f1.newLine();
			f1.write(s3);
			f1.newLine();
			f1.write(s4);
			f1.newLine();
			f1.write(s5);
			f1.newLine();
			System.out.println("添加成功。");
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
	}
	
	public void delete() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入姓名");
		String s11=in.nextLine();
		System.out.println("请输入年龄");
		String s22=in.nextLine();
		System.out.println("请输入性别");
		String s33=in.nextLine();
		System.out.println("请输入电话");
		String s44=in.nextLine();
		System.out.println("请输入所在院系");
		String s55=in.nextLine();
		File file=new File("src\\读者信息.txt");
		FileReader f=null;		
		BufferedReader f1=null;	
		try {
			f=new FileReader(file);
			f1=new BufferedReader(f);
			String str=null;
			long js=1;
			String s1=null;
			String s2=null;
			String s3=null;
			String s4=null;
			String s5=null;
			while((str=f1.readLine())!=null) {
				if(js%5==1)
					s1=str;
				if(js%5==2)
					s2=str;
				if(js%5==3)
					s3=str;
				if(js%5==4)
					s4=str;
				if(js%5==0) {
					s5=str;
					Reader _reader=new Reader(s1,s2,s3,s4,s5);
					readerlist.add(_reader);
				}
				js++;
			}
		} catch (Exception e1) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
		boolean isdelete=false;
		 for (int i = 0; i < readerlist.size(); i++) {
			 if(readerlist.get(i).getName().equals(s11) 
                    && readerlist.get(i).getAge().equals(s22) 
                    && readerlist.get(i).getSex().equals(s33)
					&& readerlist.get(i).getTel().equals(s44) 
                    && readerlist.get(i).getCollege().equals(s55)) {
				//删除后,往前覆盖,readerlist.size()减一	
				 readerlist.remove(i);
				 isdelete=true;
			 }
		 }
		 if(isdelete) {
			 System.out.println("删除成功。");
			FileWriter ff=null;
			BufferedWriter f11=null;
				try {
					ff=new FileWriter("src\\读者信息.txt");
					f11=new BufferedWriter(ff);
					for(int i = 0; i < readerlist.size(); i++) {
						String s111=readerlist.get(i).getName();
						String s222=readerlist.get(i).getAge();
						String s333=readerlist.get(i).getSex();
						String s444=readerlist.get(i).getTel();
						String s555=readerlist.get(i).getCollege();
						f11.write(s111);
						f11.newLine();
						f11.write(s222);
						f11.newLine();
						f11.write(s333);
						f11.newLine();
						f11.write(s444);
						f11.newLine();
						f11.write(s555);
						f11.newLine();
					}
				} catch (Exception e) {
					// TODO: handle exception
				}finally {
					try {
						f11.close();
						ff.close();
					} catch (Exception e2) {
						// TODO: handle exception
					}
				}
		 }		
		else
			System.out.println("馆中并未找到该读者信息。\n请核对后,重新输入。");
	}
	
	public void search() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入读者姓名");
		String s=in.nextLine();
		File file=new File("src\\读者信息.txt");
		FileReader f=null;		
		BufferedReader f1=null;
		try {
			f=new FileReader(file);
			f1=new BufferedReader(f);
			String str=null;
			long js=1;
			String s1=null;
			String s2=null;
			String s3=null;
			String s4=null;
			String s5=null;
			while((str=f1.readLine())!=null) {
				if(js%5==1)
					s1=str;
				if(js%5==2)
					s2=str;
				if(js%5==3)
					s3=str;
				if(js%5==4)
					s4=str;
				if(js%5==0) {
					s5=str;
					Reader _reader=new Reader(s1,s2,s3,s4,s5);
					readerlist.add(_reader);
				}
				js++;
			}
		} catch (Exception e1) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
		boolean issearch=false;
		for (Reader i : readerlist) {
			if(i.getName().equals(s)) { 
				i.show();
				issearch=true;
			}
        }
		if(!issearch) 
			System.out.println("查无此读者。\n请核对后重新输入。");
	}
	
	public void clear() {
		readerlist.clear();
	}
	
}

UserList类

package library;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.LinkedList;
import java.util.Scanner;

public class UserList extends ReaderList implements Opretor{
	
	private LinkedList<User> userlist=new LinkedList<User>();
	
	UserList(){}
	
	public void show() {
		File file=new File("src\\用户信息.txt");
		FileReader f=null;		
		BufferedReader f1=null;	
		if(file.exists()) {
			if(file.length()==0)
				System.out.println("馆中暂无信息,请先添加信息。");
			try {
				f=new FileReader(file);
				f1=new BufferedReader(f);
				String str=null;
				while((str=f1.readLine())!=null) {
					System.out.println(str);
				}
			} catch (Exception e1) {
				// TODO: handle exception
			}finally {
				try {
					f1.close();
					f.close();
				} catch (Exception e2) {
					// TODO: handle exception
				}
			}
		}else {
			if(file.length()==0)
				System.out.println("馆中暂无信息,请先添加信息。");
			try {
				file.createNewFile();
				try {
					f=new FileReader(file);
					f1=new BufferedReader(f);	
					String str=null;
					while((str=f1.readLine())!=null) {
						System.out.println(str);
					}
				} catch (Exception e3) {
					// TODO: handle exception
				}finally {
					try {
						f1.close();
						f.close();
					} catch (Exception e4) {
						// TODO: handle exception
					}
				}
			} catch (Exception e5) {
				// TODO: handle exception
				}
			}
		}
	
	public void add() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入用户名");
		String s1=in.nextLine();
		System.out.println("请设置用户密码");
		String s2=in.nextLine();
		System.out.println("请输入用户真实姓名");
		String s3=in.nextLine();
		System.out.println("请输入用户年龄");
		String s4=in.nextLine();
		System.out.println("请输入用户性别");
		String s5=in.nextLine();
		System.out.println("请输入用户电话");
		String s6=in.nextLine();
		System.out.println("请输入用户所在院系");
		String s7=in.nextLine();
		File file=new File("src\\用户信息.txt");
		FileWriter f=null;
		BufferedWriter f1=null;
		try {
			f=new FileWriter("src\\用户信息.txt",true);//追加
			f1=new BufferedWriter(f);
			f1.write(s1);
			f1.newLine();
			f1.write(s2);
			f1.newLine();
			f1.write(s3);
			f1.newLine();
			f1.write(s4);
			f1.newLine();
			f1.write(s5);
			f1.newLine();
			f1.write(s6);
			f1.newLine();
			f1.write(s7);
			f1.newLine();
			System.out.println("添加成功。");
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
	}
	
	public void delete() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入用户名");
		String s11=in.nextLine();
		System.out.println("请设置用户密码");
		String s22=in.nextLine();
		System.out.println("请输入用户真实姓名");
		String s33=in.nextLine();
		System.out.println("请输入用户年龄");
		String s44=in.nextLine();
		System.out.println("请输入用户性别");
		String s55=in.nextLine();
		System.out.println("请输入用户电话");
		String s66=in.nextLine();
		System.out.println("请输入用户所在院系");
		String s77=in.nextLine();
		File file=new File("src\\用户信息.txt");
		FileReader f=null;		
		BufferedReader f1=null;	
		try {
			f=new FileReader(file);
			f1=new BufferedReader(f);
			String str=null;
			long js=1;
			String s1=null;
			String s2=null;
			String s3=null;
			String s4=null;
			String s5=null;
			String s6=null;
			String s7=null;
			while((str=f1.readLine())!=null) {
				if(js%7==1)
					s1=str;
				if(js%7==2)
					s2=str;
				if(js%7==3)
					s3=str;
				if(js%7==4)
					s4=str;
				if(js%7==5)
					s5=str;
				if(js%7==6)
					s6=str;
				if(js%7==0) {
					s7=str;
					User _user=new User(s1,s2,s3,s4,s5,s6,s7);
					userlist.add(_user);
				}
				js++;
			}
		} catch (Exception e1) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
		boolean isdelete=false;
		for (int i = 0; i < userlist.size(); i++) {
			if(userlist.get(i).getAccountnumber().equals(s11) 
                && userlist.get(i).getPassword().equals(s22) 
                && userlist.get(i).getName().equals(s33)
				&& userlist.get(i).getAge().equals(s44) 
                && userlist.get(i).getSex().equals(s55) 
				&& userlist.get(i).getTel().equals(s66) 
                && userlist.get(i).getCollege().equals(s77)) {
					userlist.remove(i);
					isdelete=true;
			}
		 }
		if(isdelete) {
			 System.out.println("删除成功。");
			FileWriter ff=null;
			BufferedWriter f11=null;
			try {
				ff=new FileWriter("src\\用户信息.txt");
				f11=new BufferedWriter(ff);
				for(int i = 0; i < userlist.size(); i++) {
					String s111=userlist.get(i).getAccountnumber();
					String s222=userlist.get(i).getPassword();
					String s333=userlist.get(i).getName();
					String s444=userlist.get(i).getAge();
					String s555=userlist.get(i).getSex();
					String s666=userlist.get(i).getTel();
					String s777=userlist.get(i).getCollege();
					f11.write(s111);
					f11.newLine();
					f11.write(s222);
					f11.newLine();
					f11.write(s333);
					f11.newLine();
					f11.write(s444);
					f11.newLine();
					f11.write(s555);
					f11.newLine();
					f11.write(s666);
					f11.newLine();
					f11.write(s777);
					f11.newLine();
				}
			} catch (Exception e) {
				// TODO: handle exception
			}finally {
				try {
					f11.close();
					ff.close();
				} catch (Exception e2) {
					// TODO: handle exception
				}
			}
		}
		else
			System.out.println("馆中并未找到该用户信息。\n请核对后,重新输入。");
	}
	
	public void search() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入用户名");
		String s=in.nextLine();
		File file=new File("src\\用户信息.txt");
		FileReader f=null;		
		BufferedReader f1=null;	
		try {
			f=new FileReader(file);
			f1=new BufferedReader(f);
			String str=null;
			long js=1;
			String s1=null;
			String s2=null;
			String s3=null;
			String s4=null;
			String s5=null;
			String s6=null;
			String s7=null;	
			while((str=f1.readLine())!=null) {
				if(js%7==1)
					s1=str;
				if(js%7==2)
					s2=str;
				if(js%7==3)
					s3=str;
				if(js%7==4)
					s4=str;
				if(js%7==5)
					s5=str;
				if(js%7==6)
					s6=str;	
				if(js%7==0) {
					s7=str;
					User _user=new User(s1,s2,s3,s4,s5,s6,s7);
					userlist.add(_user);
				}
				js++;
			}
		} catch (Exception e1) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
		boolean issearch=false;
		for (User i : userlist) {
			if(i.getAccountnumber().equals(s)) {
				i.show();
				issearch=true;
			}
        }
		if(!issearch) 
			System.out.println("查无此用户。\n请核对后重新输入。");
	}	
	
	public void clear() {
		userlist.clear();
	}
	
}

IFList类

package library;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.LinkedList;
import java.util.Scanner;

public class IFList implements Opretor{
	
	private LinkedList<Informatica> iflist=new LinkedList<>();
	
	IFList() {}
	
	public void show() {
		File file=new File("src\\借阅信息.txt");
		FileReader f=null;		
		BufferedReader f1=null;	
		if(file.exists()) {
			if(file.length()==0)
				System.out.println("馆中暂无信息,请先添加信息。");
			try {
				f=new FileReader(file);
				f1=new BufferedReader(f);
				String str=null;
				while((str=f1.readLine())!=null) {
					System.out.println(str);
				}
			} catch (Exception e1) {
				// TODO: handle exception
			}finally {
				try {
					f1.close();
					f.close();
				} catch (Exception e2) {
					// TODO: handle exception
				}
			}
		}else {
			if(file.length()==0)
				System.out.println("馆中暂无信息,请先添加信息。");
			try {
				file.createNewFile();
				try {
					f=new FileReader(file);
					f1=new BufferedReader(f);	
					String str=null;
					while((str=f1.readLine())!=null) {
						System.out.println(str);
					}
				} catch (Exception e3) {
					// TODO: handle exception
				}finally {
					try {
						f1.close();
						f.close();
					} catch (Exception e4) {
						// TODO: handle exception
					}
				}
			} catch (Exception e5) {
				// TODO: handle exception
				}
			}
		}
	
	public void add() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入书名");
		String s1=in.nextLine();
		System.out.println("请设置作者");
		String s2=in.nextLine();
		System.out.println("请设置价格");
		String s3=in.nextLine();
		System.out.println("请输入用户真实姓名");
		String s4=in.nextLine();
		System.out.println("请输入用户年龄");
		String s5=in.nextLine();
		System.out.println("请输入用户性别");
		String s6=in.nextLine();
		System.out.println("请输入用户电话");
		String s7=in.nextLine();
		System.out.println("请输入用户所在院系");
		String s8=in.nextLine();
		System.out.println("请输入:如果是借出的,请输入:借出;如果是还回的请输入:在馆");
		String s9=in.nextLine();
		//Informatica _i=new Informatica(s1,s2,s3,s4,s5,s6,s7,s8,"在馆");
		//iflist.add(_i);
		File file=new File("src\\借阅信息.txt");
		FileWriter f=null;
		BufferedWriter f1=null;
		try {
			f=new FileWriter("src\\借阅信息.txt",true);//追加
			f1=new BufferedWriter(f);
		//添加到文本
			f1.write(s1);
			f1.newLine();
			f1.write(s2);
			f1.newLine();
			f1.write(s3);
			f1.newLine();
			f1.write(s4);
			f1.newLine();
			f1.write(s5);
			f1.newLine();
			f1.write(s6);
			f1.newLine();
			f1.write(s7);
			f1.newLine();
			f1.write(s8);
			f1.newLine();
			f1.write(s9);
			f1.newLine();
			System.out.println("添加成功。");
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
	}
	
	public void delete() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入书名");
		String s11=in.nextLine();
		System.out.println("请设置作者");
		String s22=in.nextLine();
		System.out.println("请设置价格");
		String s33=in.nextLine();
		System.out.println("请输入用户真实姓名");
		String s44=in.nextLine();
		System.out.println("请输入用户年龄");
		String s55=in.nextLine();
		System.out.println("请输入用户性别");
		String s66=in.nextLine();
		System.out.println("请输入用户电话");
		String s77=in.nextLine();
		System.out.println("请输入用户所在院系");
		String s88=in.nextLine();
		System.out.println("请输入:如果是借出的,请输入:借出;如果是还回的请输入:在馆");
		String s99=in.nextLine();
		File file=new File("src\\借阅信息.txt");
		FileReader f=null;		
		BufferedReader f1=null;	
		try {
			f=new FileReader(file);
			f1=new BufferedReader(f);
			String str=null;
			long js=1;/
			String s1=null;
			String s2=null;
			String s3=null;
			String s4=null;
			String s5=null;
			String s6=null;
			String s7=null;
			String s8=null;
			String s9=null;
			while((str=f1.readLine())!=null) {
				if(js%9==1)
					s1=str;
				if(js%9==2)
					s2=str;
				if(js%9==3)
					s3=str;
				if(js%9==4)
					s4=str;
				if(js%9==5)
					s5=str;
				if(js%9==6)
					s6=str;
				if(js%9==7)
					s7=str;
				if(js%9==8)
					s8=str;
				if(js%9==0) {
					s9=str;
					Informatica _i=new Informatica(s1,s2,s3,s4,s5,s6,s7,s8,s9);
					iflist.add(_i);
				}
				js++;
			}
		} catch (Exception e1) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
		boolean isdelete=false;
		for (int i = 0; i < iflist.size(); i++) {
			if(iflist.get(i).book.getName().equals(s11) 
                && iflist.get(i).book.getAuthor().equals(s22) 
                && iflist.get(i).book.getPrice().equals(s33)
				&& iflist.get(i).reader.getName().equals(s44) 
                && iflist.get(i).reader.getAge().equals(s55) 
				&& iflist.get(i).reader.getSex().equals(s66) 
                && iflist.get(i).reader.getTel().equals(s77)
				&& iflist.get(i).reader.getCollege().equals(s88) 
                && iflist.get(i).getState().equals(s99)) {
				 iflist.remove(i);
				 isdelete=true;
			}
		 }
		if(isdelete) {
			 System.out.println("删除成功。");
			FileWriter ff=null;
			BufferedWriter f11=null;
			try {
				ff=new FileWriter("src\\借阅信息.txt");
				f11=new BufferedWriter(ff);
				for(int i = 0; i < iflist.size(); i++) {
					String s111=iflist.get(i).book.getName();
					String s222=iflist.get(i).book.getAuthor();
					String s333=iflist.get(i).book.getPrice();
					String s444=iflist.get(i).reader.getName();
					String s555=iflist.get(i).reader.getAge();
					String s666=iflist.get(i).reader.getSex();
					String s777=iflist.get(i).reader.getTel();
					String s888=iflist.get(i).reader.getCollege();
					String s999=iflist.get(i).getState();
					f11.write(s111);
					f11.newLine();
					f11.write(s222);
					f11.newLine();
					f11.write(s333);
					f11.newLine();
					f11.write(s444);
					f11.newLine();
					f11.write(s555);
					f11.newLine();
					f11.write(s666);
					f11.newLine();
					f11.write(s777);
					f11.newLine();
					f11.write(s888);
					f11.newLine();
					f11.write(s999);
					f11.newLine();
				}
			} catch (Exception e) {
				// TODO: handle exception
			}finally {
				try {
					f11.close();
					ff.close();
				} catch (Exception e2) {
					// TODO: handle exception
				}
			}
		}
		else
			System.out.println("馆中并未找到该借阅信息。\n请核对后,重新输入。");
	}
	
	public void search() {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入书名");
		String s=in.nextLine();
		File file=new File("src\\借阅信息.txt");
		FileReader f=null;		
		BufferedReader f1=null;	
		try {
			f=new FileReader(file);
			f1=new BufferedReader(f);
			String str=null;
			long js=1;
			String s1=null;
			String s2=null;
			String s3=null;
			String s4=null;
			String s5=null;
			String s6=null;
			String s7=null;
			String s8=null;
			String s9=null;
			while((str=f1.readLine())!=null) {
				if(js%9==1)
					s1=str;
				if(js%9==2)
					s2=str;
				if(js%9==3)
					s3=str;
				if(js%9==4)
					s4=str;
				if(js%9==5)
					s5=str;
				if(js%9==6)
					s6=str;
				if(js%9==7)
					s7=str;
				if(js%9==8)
					s8=str;
				if(js%9==0) {
					s9=str;
					Informatica _i=new Informatica(s1,s2,s3,s4,s5,s6,s7,s8,s9);
					iflist.add(_i);
				}
				js++;
			}
		} catch (Exception e1) {
			// TODO: handle exception
		}finally {
			try {
				f1.close();
				f.close();
			} catch (Exception e2) {
				// TODO: handle exception
			}
		}
		boolean issearch=false;
		for (Informatica i : iflist) {
			if(i.book.getName().equals(s)) {
				i.book.show();
				i.reader.show();
				System.out.println(i.getState());
				issearch=true;
			}
        }
		if(!issearch) 
			System.out.println("查无此借阅信息。\n请核对后重新输入。");
	}	
	
	public void clear() {
		iflist.clear();
	}

}

main

package library;

import java.util.Scanner;

public class main {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		
		BookList booklist=new BookList();
		ReaderList readerList=new ReaderList();
		UserList userList=new UserList();
		IFList iFList=new IFList();
		
		Scanner in = new Scanner(System.in);
		boolean pd = true;
		while(pd) {
			//在输入书名等数据时 应该加限制
			System.out.println("-------------------------------图书管理系统-------------------------------");
            System.out.println("欢迎使用,请按照下面提示进行操作。\r\n"
            		+ "0:系统退出\r\n"
            		+ "1:图书信息列表显示\r\n"
            		+ "2:图书信息新增\r\n"
            		+ "3:图书信息删除\r\n"
            		+ "4:图书信息查找(按书名查找)\r\n"
            		+ "5:读者信息列表显示\r\n"
            		+ "6:读者信息新增\r\n"
            		+ "7:读者信息删除\r\n"
            		+ "8:读者信息查找(按姓名查找)\r\n"
            		+ "9:借阅信息列表显示\r\n"
            		+ "10:借阅信息新增\r\n"
            		+ "11:借阅信息删除\r\n"
            		+ "12:借阅信息查找(按书名查找)\r\n"
            		+ "13:用户信息列表显示\r\n"
            		+ "14:用户信息新增\r\n"
            		+ "15:用户信息删除\r\n"
            		+ "16:用户信息查找(按用户名查找)\r\n"
            		+ "");
            int i = in.nextInt();
            if (i<0 || i>16) {
                System.out.println("输入范围错误,请重新输入。");
                continue;
            }
            switch(i) {
            case 0: pd=false;System.out.println("您已成功退出程序。感谢使用。");break;
            case 1:booklist.show();		break;
            case 2:booklist.add();      break;
            case 3:booklist.delete();	break;
            case 4:booklist.search();   break;
            case 5:readerList.show();	break;
            case 6:readerList.add(); 	break;
            case 7:readerList.delete();	break;
            case 8:readerList.search();	break;
            case 9:iFList.show();		break;
            case 10:iFList.add();		break;
            case 11:iFList.delete(); 	break;
            case 12:iFList.search();	break;
            case 13:userList.show();	break;
            case 14:userList.add();		break;
            case 15:userList.delete();	break;
            case 16:userList.search();	break;	
            }
            //清空列表
            booklist.clear();
            readerList.clear();
            iFList.clear();
            userList.clear();
		}
	}
}

收获

如何快速的学习一门语言并能用。抄,抄别人的代码,代码,哪里不会搜哪里。

io流的深刻的认识。除了编码,剩下的都是字符串问题。

对Eclipse功能的认识深刻。原来不会用编程工具,真的编不了程序。

以后不拖,尽量不拖,提前做。

调试时出现的错误

大部分都忘了。

main在每次执行完选项后,要将所有的list清空,不然就乱套了。之前search() delete() 所创建的对象都存入了list,下次的操作,如果有 search() delete() 则必定受影响。

如果测试测试数据是直接在文件里写而不是用 add()方法 添加到文本中的,请注意一下两点:

1. String s1=in.nextLine(); 语句中的 in.nextLine() 是会存空格的。

因为这个代码是我(蒟蒻)无脑写的 ,在 search() 和 delete() 方法中 的查询讯息,用的是字符串是否相等。也就是说,如果你在文本文件中直接在测试数据的后面不小心多输入一个空格,那么即使两个比较的字符串的前面相同,因为后面多的那一个字符串,也会变得不同。

2. 文本的编码问题。

还没来的及查资料仔细研究,但实践出来一些避坑的小点,总结如下。

当我们打开.txt文件,6963ec00b2ca4206abbcd99d5eefcd18.png

 单机 查看 ,打开状态栏,我们可以看到文本文件的左下角

8b3d7996b3ad40338a122f5541401f2c.png

 UTF-8

UTF-8_百度百科 (baidu.com)

当我们直接在文本文件中输入时,是按照UTF-8来编码的。

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 图书馆管理系统(超低配版) 的相关文章

  • Android Toast 消息不起作用

    我正在通过 Andengine 为 Android 开发游戏 我有 MainActivity 类和 GameScene 类 我在 GameActivity 中使用 Toast 消息 它正在发挥作用 Toast makeText this H
  • JAVA 中的 Composer 相当于什么? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我目前从 PHP 转向 java 有没有类似的工具composer https getcomposer org 在 PHP 中用于 JAV
  • Java,顺序流在哪个线程中执行?

    在阅读有关流的文档时 我遇到了以下句子 attempting to access mutable state from behavioral parameters presents you with a bad choice if you
  • java 中的梵文 i18n

    我正在尝试使用来自互联网的示例 ttf 文件在 java 中使用 i18n 进行梵文 印地文 我可以加载资源包条目 还可以加载 ttf 并设置字体 但它不会根据需要呈现 jlabel 它显示块代替字符 如果我在 Eclipse 中调试 我可
  • 垂直 ViewPager 中的动画

    我需要垂直制作这个动画ViewPager https www youtube com watch v wuE 4jjnp3g https www youtube com watch v wuE 4jjnp3g 这是我到目前为止所尝试的 vi
  • Spring HATEOAS 和 HAL:更改 _embedded 中的数组名称

    我正在尝试使用 Spring HATEOAS 构建符合 HAL 的 REST API 经过一番摆弄后我终于开始工作了mostly正如预期的那样 示例 输出现在看起来像这样 links self href http localhost 808
  • 使用 Jena 查询维基数据

    目前 Wikidata 有一个 SPARQL 端点 https query wikidata org https query wikidata org 我想使用 Jena 3 0 1 查询此网站 我使用以下代码 但收到错误消息 端点返回的
  • 在拇指上方显示修改后的 JSlider 值

    有没有一种简单的方法可以在使用某些 外观和感觉 的同时更改 JSlider 上方标签中显示的值 为了清楚起见 我正在谈论这个值 具体来说 我想显示除以 1000 的值而不是值本身 我知道如果我显示它们 我可以为刻度设置标签 但用户将不得不猜
  • 如何自动转换十六进制代码以将其用作 Java 中的 byte[]?

    我这里有很多十六进制代码 我想将它们放入 Java 中 而不需要向每个实体附加 0x 喜欢 0102FFAB 和我必须执行以下操作 byte test 0x01 0x02 0xFF 0xAB 我有很多很长的十六进制代码 有什么办法可以自动做
  • 但是创建静态实用方法不应该被过度使用吗?如何避免呢? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 随着时间的推移 java项目中引入了许多实用方法来完成更复杂和简单的任务 当使用静态方法时 我们在代码中引入了紧密耦合 这使得我们的代
  • Java 中如何验证字符串的格式是否正确

    我目前正在用 Java 编写一个验证方法来检查字符串是否是要更改为日期的几种不同格式之一 我希望它接受的格式如下 MM DD YY M DD YY MM D YY 和 M D YY 我正在测试第一种格式 每次它都告诉我它无效 即使我输入了有
  • 避免 @Secured 注释的重复值

    我正在尝试使用以下方法来保护我的服务方法 Secured如下 public interface IUserService Secured ROLE ROLE1 ROLE ROLE2 ResponseEntity saveUser Creat
  • 如何在 spring-data 中强制使用 CrudRepository 进行预加载?

    我有一个实体 其中包含List就是这样lazy默认加载 interface MyEntityRepository extends CrudRepository
  • Java 8 方法签名不一致

    Java 8 为我们提供了具有很长签名的新方法 如下所示 static
  • 开发者环境-如何调用/消费其他微服务

    背景 我的环境 Java Play2 MySql 我在 Play2 gt S1 S2 S3 上编写了 3 个无状态 Restful 微服务 S1 消耗来自 S2 和 S3 的数据 因此 当用户点击 S1 时 该服务会异步调用 S2 S3 合
  • 如何使用eclipse调试JSP tomcat服务?

    我想使用 Eclipse IDE 调试器来调试单独运行的 JSP Struts Tomcat Hibernate 应用程序堆栈 如何设置 java JVM 和 eclipse 以便设置断点 监视变量值并查看当前正在执行的代码 我刚刚用谷歌搜
  • 在java中执行匿名pl/sql块并获取结果集

    我想执行匿名 PL SQL 并需要获取结果集对象 我得到了可以通过在 PL SQL 块内使用游标来完成的代码 但 PL SQL 块本身将以文本形式来自数据库 所以我无法编辑该 PL SQL 块 并且它只会返回两个值 其列名始终相同 它将返回
  • Firebase:用户注册后如何进行电话号码验证?

    所以我知道我可以使用电子邮件验证或电话号码验证 但我想做的是在用户注册或登录后进行电话号码验证 如何连接这两种身份验证方法 最后 Firebase中是否有一个函数可以检查用户是否通过电话号码验证 谢谢 即使用户已通过身份验证 您仍然可以使用
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset
  • 我怎样才能限定我不“拥有”的自动装配设置器

    要点是 Spring Batch v2 测试框架具有JobLauncherTestUtils setJob与 Autowired注解 我们的测试套件有多个Job类提供者 由于这个类不是我可以修改的东西 我不确定如何限定它自动连接的作业 每个

随机推荐

  • 持续集成管理软件Jenkins应用实验

    编写Dockerfile文件 1 创建一个目录jenkins 保存相关的配置信息和内容 在 后输入mkdir Jenkins cd Jenkins命令 然后按Enter键 创建Jenkins目录并进入该目录 示例代码如下 root xian
  • UML建模与软件开发设计(七)——时序图设计

    在前面我们学习了类图相关知识 类图是一种静态结构模型视图 它是设计类及类间关系 即数据结构 的重要依据 但它无法刻画类的对象间的交互 通信行为 也就是说 类图无法描述类和类之间是如何通信 交互的 通俗地说 类图无法描述某个类的方法被哪个类所
  • OnTriggerEnter

    准备一个脚本 shiyan cs 脚本内容如下 脚本挂在小球上 然后运行场景 拖动小球撞盒子 然后再拖动盒子撞小球 分别看控制台打印结果 然后将脚本挂在盒子上 然后运行场景 拖动小球撞盒子 然后再拖动盒子撞小球 分别看控制台打印结果 OnT
  • 写一个Java程序,在程序中建立一个窗口

    编写一个Java程序 在程序中建立一个窗口 有四个文本框 两个按钮 单击 求和 按钮 能把第一个和第二个文本框的整数相加后结果显示在第三个文本框中 点击 复制 按钮 能将第三个文本框的内容复制到第四个文本框中 最后还可以正常关闭窗口 要创建
  • 后台管理系统----品牌管理

    目录 路由的搭建 品牌管理静态组件 品牌管理列表展示 element ui table表单组件 element ui el pagination分页器组件 插槽 网络请求 增删改牌静态页面 增删改品牌功能 书写api 增删改逻辑 表单校验
  • supervisor系列:4、子进程

    supervisor系列 4 子进程 文章目录 supervisor系列 4 子进程 1 非后台运行的子进程 1 1 程序配置示例 1 1 1 Apache 2 2 6 1 1 2 Two Zope 2 X instances and on
  • Windows命令行创建文件,文件夹,删除文件,文件夹命令

    创建文件夹命令 md 文件夹名字或者mkdir 文件夹名字 删除文件夹命令 rd删除空文件夹 rd s q 删除有子文件夹和子文件的文件夹 创建文件命令 type nul gt 可以带文件名 也可以不带文件名 这里用于空文件 echo 文件
  • mysql 常用函数

    一 mysql的函数 1 1 limit分页函数的使用 第一个起始的个数从0开始 第二个查询的个数 SELECT FROM student LIMIT 4 5 SELECT FROM student LIMIT 5 1 2 聚合函数 AVG
  • 【Linux】如何在进程间加锁(实现互斥)

    文章目录 前言 mmap 配合 pthread mutex t 先让多个进程能够看到一个num 多个进程互斥访问 具体代码 采用共享内存配合信号量 semget semctl semop 核心逻辑 管道 总结 前言 Linux 初识进程间通
  • python求一个整数的最大公约数_算法交流:7592 求最大公约数问题【2.1基本算法之递归和自调用函数】...

    题目描述 7592 求最大公约数问题 By OIer15WA给定两个正整数 求它们的最大公约数 输入输入一行 包含两个正整数 lt 1000000000 输出输出一个正整数 即这两个正整数的最大公约数 样例输入 6 9 样例输出 3 一 题
  • 《银河麒麟高级服务器操作系统V10》使用

    一言而论 讲了麒麟服务器V10的基本使用 包括终端 VNC 文章目录 前言 基本架构 环境 硬件环境 软件环境 麒麟安装步骤 1 在宿主机上安装好VM 并且激活 2 使用VM创建虚拟机 3 启动虚拟机 终端常用点 VNC的使用 麒麟上安装V
  • 关于MeasureSpec的一些理解

    MeasureSpec有以下三种模式 public static final int UNSPECIFIED 0 lt lt MODE SHIFT public static final int EXACTLY 1 lt lt MODE S
  • Qt编程(二)-初步进阶

    Qt编程 初步进阶 前言 一 Qt自定义信号和槽 1 自定义信号和槽 2 自定义信号带参数重载问题 3 函数重载问题总结 4 信号和槽的扩展 1 信号连接 connect 2 信号的断开 disconnect 3 信号和槽的参数 二 Lam
  • LetCode#1给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。JAVA

    题目 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素在答案里不能重复出现 你可以按任意顺序返回答
  • Vue-cli快速创建vue项目

    使用vue cli需要的环境 nodejs 一 什么是vue cli 还记得最初使用webpack搭建项目的痛苦了吗 各种配置 去配置我们的各种loader 插件 项目运行脚本 非常难受 今天我们就学习vue cli 这个东西 再无webp
  • 直接替换Springboot jar包中的文件

    Linux Springboot 在不重新打包的情况下 修改配置文件 直接vim xxx jar包后 可以通过 关键字来查找文件 查找到以后 通过方向键进行控制 enter进入文件 i进入插入模式 修改文件 保存等操作和vim的操作一样 修
  • spdlog日志安装与使用

    spdlog是一个开源的且只需要头文件即可使用的跨平台日志库 适用于c 11版本 1 安装步骤 1 源码下载 git clone https github com gabime spdlog 2 拷贝头文件 cp rf spdlog inc
  • Java中的“static“关键字

    写在前面 前阵子看到一篇有关于Java中static的使用和介绍 讲的比较全面 近几日忽然想起早先工作碰到的有关static的相关问题 自己也总结一下吧 static是我们项目中经常用到的关键字 也是Java中非常重要的一个关键字 stat
  • 单片机多任务程序的框架

    下面说的单片机也主要是51与台系芯片 也就是现在的工作 其它应用不在讨论范围 才识有限 也敬请前辈们勘误 指教 一个真正意义的单片机系统肯定会是多任务的 怎样建立一个多任务程序的框架 1 前后台系统 前台是中断程序 后台是执行主程序 当中断
  • java 图书馆管理系统(超低配版)

    目录 图书管理系统要求 思路 show 方法 add 方法 search方法 delete 方法 代码 接口 Book类 Reader类 User类 Informatica类 BookList类 ReaderList类 UserList类