图书登录系统
1.首页面
1.如果选择注册,那么进行用户注册,注册成功之后,继续选择
2.如果选择登录,则进行用户名,密码判断。如果用户名、密码输入无误,则进行图书选择,如果输入失败,则继续进行注册、登录、退出选择。
3.如果选择查看书籍,则列出所有的图书
4.如果选择书籍添加,如新增一本图书
5.如果选择数据删除,输入书籍编号,则进行图书删除。
6.如果选择数据修改,输入书籍编号(编号不能改),则进行图书修改。
7.如果选择退出,则退出到
1.最少要两个二维数组
一个用来保存用户的登录信息:用户名、密码(默认存放三条信息)
另一个用来保存图书信息:图书编号、图书名称、图书价格
(默认存放三条信息)
如果执行添加的时候,需要去判断数组长度是否小于当时定义的长度。如果小于或者等于的话,则需要长度扩容。
图书馆类:
里面包含有两个二维数组一个管理登录的人
一个管理图书馆里的图书
package tushuguanlixiting;
import java.util.Arrays;
public class BookSystem {
int numPeople = -1;
int numBook = -1;
String [][] people = new String [3] [2];
String [][] book = new String [3][3];
//添加人
public void addPeople(String p[]){
numPeople ++ ;
if(numPeople+1 > people.length){
int newNumPeople = numPeople + 10;
String newPeople[][] = new String[newNumPeople][2];
for (int i = 0; i < people.length; i++) {
newPeople[i] = people[i];
}
newPeople[numPeople][0] = p[0];
newPeople[numPeople][1] = p[1];
people = newPeople;
}else{
people[numPeople][0] = p[0];
people[numPeople][1] = p[1];
}
}
//验证登录
public boolean login(String p[]){
for (int i = 0; i < people.length; i++) {
if(people[i][0].equals(p[0])){
if(people[i][1].equals(p[1])){
return true;
}
}
}
return false;
}
//添加书
public void addBook(String b[]){
++numBook ;
if(numBook+1 >= book.length){
int newNumBook = numBook + 10;
String newBook[][] = new String[newNumBook][2];
for (int i = 0; i < book.length; i++) {
newBook[i] = book[i];
}
newBook[numBook][0] = b[0];
newBook[numBook][1] = b[1];
newBook[numBook][2] = b[2];
book = newBook;
}
else{
book[numBook][0] = b[0];
book[numBook][1] = b[1];
book[numBook][2] = b[2];
}
}
//查看书
public void seeBook(){
for (int i = 0; i < numBook + 1; i++) {
System.out.println(Arrays.toString(book[i]));
}
}
//删除书
public void delBook(String n){
boolean flag = true;
for (int i = 0; i <= numBook; i++) {
if(n.equals(book[i][0])){
flag = false;
for (int j = i; j <= numBook-1; j++) {
book[j] = book[j + 1];
}
numBook--;
}
}
if(flag){
System.out.println("找不到编号为" + n + "的书");
throw new RuntimeException("找不到编号为" + n + "的书");
}
// book[numBook] = null;
}
//修改书
public void updateBook(String b[]){
boolean flag = true;
for (int i = 0; i < book.length; i++) {
if(b[0].equals(book[i][0])){
flag = false;
book[i][1] = b[1];
book[i][2] = b[2];
}
}
if(flag){
System.out.println("找不到编号为" + b[0] + "的书");
}
}
}
主方法:
package tushuguanlixiting;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
BookSystem b = new BookSystem();
boolean flag = true;
//先想图书馆里面添加三个成员people
String p3[] = {"gq","123"};
String p4[] = {"hq","123"};
String p5[] = {"zw","123"};
b.addPeople(p3);
b.addPeople(p4);
b.addPeople(p5);
//先向图书管理加两本书
String b1[] = {"001","红楼梦","50"};
String b2[] = {"002","西游记","60"};
b.addBook(b1);
b.addBook(b2);
while(flag){
try {
Scanner sc = new Scanner(System.in);
System.out.println("*********欢迎登录图书管理系统**********");
System.out.print("1.注册 ");
System.out.print("2.登录 ");
System.out.print("3.退出 ");
int chioce = sc.nextInt();
switch (chioce) {
case 1:
System.out.println("请输入用户名");
String name = sc.next();
System.out.println("请输入密码");
String mima = sc.next();
String p[] = {name, mima};
b.addPeople(p);
break;
case 2:
System.out.println("请输入用户名");
String name1 = sc.next();
System.out.println("请输入密码");
String mima1 = sc.next();
String p1[] = {name1, mima1};
if(b.login(p1)){
System.out.println("登陆成功");
flag = false;
}else{
System.out.println("账号或者密码错误");
}
break;
default:
flag = false;
break;
}
} catch (Exception e) {
System.out.println("输入错误,请输入数字1到3");
// e.printStackTrace();
}
}
boolean f1 = true;
while(f1){
try {
Scanner sc = new Scanner(System.in);
System.out.println("*********进入书籍管理系统**********");
System.out.print("1.查看书籍 ");
System.out.print("2.书籍添加 ");
System.out.print("3.书籍删除 ");
System.out.print("4.书籍修改 ");
System.out.print("5.退出 ");
int c1 = sc.nextInt();
switch (c1) {
case 1:
b.seeBook();
break;
case 2:
System.out.println("输入要添加书籍的编号");
String no = sc.next();
System.out.println("输入要添加书籍的名称");
String bookName = sc.next();
System.out.println("输入要添加书籍的价格");
String bookPrice = sc.next();
String []b3 = {no,bookName,bookPrice};
b.addBook(b3);
break;
case 3:
System.out.println("输入要删除书籍的编号");
String delNo = sc.next();
try {
b.delBook(delNo);
} catch (Exception e) {
// TODO: handle exception
System.out.println("找不到编号为" + delNo + "的书");
}
break;
case 4:
System.out.println("输入要修改书籍的编号");
String no1 = sc.next();
System.out.println("输入要修改书籍的名称");
String bookName1 = sc.next();
System.out.println("输入要修改书籍的价格");
String bookPrice1 = sc.next();
String []b4 = {no1,bookName1,bookPrice1};
b.updateBook(b4);
break;
default:
f1 = false;
break;
}
} catch (Exception e) {
System.out.println("输入有误,请输入数字1到5");
}
}
}
}