javaは簡単な図書管理システムを実現します。
本論文の実例は、Javaが簡単な図書管理システムを実現するための具体的なコードを共有しています。
一、プロジェクト分布
ブッククラス:本の属性(書名、著者、価格、分類、状態)を定義し、属性のget、set方法を書いています。
Library類:登録関数(1、一般ユーザー、2、管理者、3、ログアウトシステム)を書きました。
Person類:定義した人の属性(名前、性別、年齢)と属性のget、set方法を書いて、いくつかの本を定義しました。
operateインターフェース:操作のインターフェース、操作方法:問い合わせ/閲覧、削除/貸し出し、本のリストを表示する追加/返却
Root類:Person類を継承し、operate(閲覧、削除、追加、書籍リスト表示)インターフェースを実現しました。
Userクラス:Personクラスを継承し、operateインターフェースを実現しました。
Mainクラス:Mainのメイン関数はプロジェクト全体を開けます。
模型図:
声明:本プロジェクトは単なる対象向けの入門プロジェクトであり、対象、クラス、抽象類、インターフェース、継承、実現、配列および配列の操作、forサイクル、whileループ、switch文、if文などの基礎理論を身につける必要があります。
二、コード展示
1.Book類
1.ログイン画面
一般ユーザー登録
2.一般ユーザー:照会、閲覧、返却、表示リスト
3.管理者登録し、図書の価格によって本を整理する
4.管理者が本を追加する
5.管理者が書籍を削除する
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
一、プロジェクト分布
ブッククラス:本の属性(書名、著者、価格、分類、状態)を定義し、属性のget、set方法を書いています。
Library類:登録関数(1、一般ユーザー、2、管理者、3、ログアウトシステム)を書きました。
Person類:定義した人の属性(名前、性別、年齢)と属性のget、set方法を書いて、いくつかの本を定義しました。
operateインターフェース:操作のインターフェース、操作方法:問い合わせ/閲覧、削除/貸し出し、本のリストを表示する追加/返却
Root類:Person類を継承し、operate(閲覧、削除、追加、書籍リスト表示)インターフェースを実現しました。
Userクラス:Personクラスを継承し、operateインターフェースを実現しました。
Mainクラス:Mainのメイン関数はプロジェクト全体を開けます。
模型図:
声明:本プロジェクトは単なる対象向けの入門プロジェクトであり、対象、クラス、抽象類、インターフェース、継承、実現、配列および配列の操作、forサイクル、whileループ、switch文、if文などの基礎理論を身につける必要があります。
二、コード展示
1.Book類
public class Book {
private String name; //
private String author; //
public double price; //
private String category; //
private boolean state; // true- false-
//
public Book(String name,String author,double price,String category,boolean state){
this.author = author;
this.name = name;
this.price = price;
this.category = category;
this.state = state;
}
public Book() { // 10
this(10);
}
public Book(int i) {
Person.books = new Book[i];
}
//
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public boolean getState() {
return state;
}
public void setState(boolean state) {
this.state = state;
}
}
2.Library類
import java.util.Scanner;
public class Library {
Scanner sc = new Scanner(System.in);
// :
public void login() {
int count = 0;
Person p = null;
while (count < 2) {
System.out.println("===============jewel ===============");
System.out.println(" ! qq505791225"+"
");
System.out.println(" :1. 2. 3. ");
int n = sc.nextInt();
//
if (n == 3) {
return;
}
switch (n) {
case 1:
System.out.println(" :");
String Uname = sc.next();
System.out.println(" :");
String Usex = sc.next();
System.out.println(" :");
int Uage = sc.nextInt();
p = new User(Uname,Usex,Uage); //
System.out.println(" !");
System.out.println(" :"+" :" + p.getName() + " "+" :" + p.getSex() + " "+" "+ p.getAge());
//
while (true) {
System.out.println(" : 1. 2. 3. 4. 5. ");
int i = sc.nextInt();
if (i == 5) {
System.out.println(" !");
break;
}else {
p.operate(); //
}
}
break;
case 2:
System.out.println(" :");
String Rname = sc.next();
System.out.println(" :");
String Rsex = sc.next();
System.out.println(" :");
int Rage = sc.nextInt();
p = new Root(Rname,Rsex,Rage);//
System.out.println(" !");
System.out.println(" :"+" :" + p.getName() + " "+" :" + p.getSex() + " "+" " + p.getAge());
while (true) {
System.out.println(" : 1. 2. 3. 4. 5. 6. ");
int j = sc.nextInt();
if (j == 6) {
System.out.println(" !");
break;
}else{
p.operate();//
}
} break;
}
}
}
}
3.Person類(抽象類)
abstract class Person {
public String name;
public String sex;
public int age;
/**
* 10 。( 3 buffer, )
*/
public static Book[] books = new Book[]{
new Book(" ", " ", 10, " ", true),
new Book(" ", " ", 20, " ", true),
new Book(" ", " ", 15, " ", true),
new Book(" ", " ", 5, " ", true),
new Book("C ", " ", 35, " ", true),
new Book("Java ", " ", 55, " ", true),
new Book(" ", " ", 15, " ", true),
new Book(" ", " ", 5, " ", true),
new Book(" ", " ", 35, " ", true),
new Book(" ", " ", 36, " ", true),
new Book(),
new Book(),
new Book(),
};
public Person(String name, String sex, int age) {
this.age = age;
this.name = name;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
/**
*
*/
public abstract void operate();
}
4.operateインターフェース
public interface operate{ //
void select(Book[] books); // ,
void delete(Book[] books);// ,
void add(Book[] books); // ,
void list(Book[] books); //
}
5.Root類
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Root extends Person implements Operate {
// , operate, operate ,
public Root(String name, String sex, int age) {
//
super(name, sex, age);
}
Scanner sc = new Scanner(System.in);
/**
*
*/
@Override
public void operate() {
System.out.print(" :");
int i = sc.nextInt();
switch (i) {
case 1:
//
sort(books);
break;
case 2:
//
select(books);
break;
case 3:
//
add(books);
break;
case 4:
//
delete(books);
break;
case 5:
//
list(books);
break;
default:
System.out.println(" !");
break;
}
}
/**
* compareable , compare to, , , ,
* @param books
*/
public void sort(Book[] books) {
System.out.println(" :" + "
" + "【 】―― 【 】――【 】――【 】―― ");
Arrays.sort(books, new Comparator<Book>() {
@Override
public int compare(Book o1, Book o2) {
return (int) (o1.getPrice() - o2.getPrice());
}
});
//
for (int i = 0; i < books.length; i++) {
if (books[i].price != 0) {
System.out.println(
"【" + books[i].getName() + "】―― 【" + books[i].getAuthor() + "】――【" + books[i].getPrice()
+ "】――【" + books[i].getCategory() + "】――" + books[i].getState());
}
}
}
@Override
public void select(Book[] books) {
System.out.println(" :");
String name = sc.next();
if (name != null) {
boolean flag = false;
int bookNum = 0;
for (int i = 0; i < books.length; i++) {
if (books[i].getName() != null && name.equals(books[i].getName())) {
flag = true;
bookNum = i;
break;
}
}
if (!flag) {
System.out.println(" !");
} else {
System.out.println(" :" + "
" + "【 】―― 【 】――【 】――【 】―― ");
System.out.println(
"【" + books[bookNum].getName() + "】―― 【" + books[bookNum].getAuthor() + "】――【" + books[bookNum]
.getPrice() + "】――【" + books[bookNum].getCategory() + "】――" + books[bookNum]
.getState());
}
}
}
@Override
public void delete(Book[] books) {
System.out.println(" :");
String str = sc.next();
if (str != null) {
for (int i = 0; i < books.length; i++) {
if (books[i].getName().equals(str)) {
books[i] = null;
System.out.println(" !");
break;
}
}
}
}
@Override
public void add(Book[] books) {
System.out.println(" :");
String name = sc.next();
System.out.println(" :");
String author = sc.next();
System.out.println(" :");
double price = sc.nextDouble();
System.out.println(" :");
String category = sc.next();
boolean flag = false;
for (int i = 0; i < books.length; i++) {
if (books[i].getName() == null) {
flag = true;
books[i].setName(name);
books[i].setAuthor(author);
books[i].setPrice(price);
books[i].setCategory(category);
books[i].setState(true);
System.out.println(" ");
break;
}
}
if (!flag) {
System.out.println("【 】 buffer 3 , , 3 , ‘Person' buffer!" + "
");
}
}
@Override
public void list(Book[] books) {
System.out.println(" :" + "
" + "【 】―― 【 】――【 】――【 】―― "); // Book
for (int i = 0; i < books.length; i++) {
if (books[i] != null) {
if (books[i].price != 0) {
System.out.println(
"【" + books[i].getName() + "】―― 【" + books[i].getAuthor() + "】――【" + books[i].getPrice()
+ "】――【" + books[i].getCategory() + "】――" + books[i].getState());
}
}
}
}
}
6.User類
import java.util.Scanner;
public class User extends Person implements Operate { //user , operate
public User(String name, String sex, int age) {
// ( )
super(name, sex, age);
}
Scanner sc = new Scanner(System.in);
@Override
public void operate() { //
System.out.print(" :");
int i = sc.nextInt();
switch (i) {
case 1:
//
select(books);
break;
case 2:
//
delete(books);
break;
case 3:
//
add(books);
break;
case 4:
//
list(books);
break;
default:
System.out.println(" !");
break;
}
}
@Override
public void select(Book[] books) {
System.out.println(" :");
String name = sc.next();
if (name != null) {
boolean flag = false;
int bookNum = 0;
for (int i = 0; i < books.length; i++) {
if (books[i].getName() != null && name.equals(books[i].getName())) {
flag = true;
bookNum = i;
break;
}
}
if (!flag) {
System.out.println(" !");
} else {
System.out.println(" :" + "
" + "【 】―― 【 】――【 】――【 】―― ");
System.out.println(
"【" + books[bookNum].getName() + "】―― 【" + books[bookNum].getAuthor() + "】――【" + books[bookNum]
.getPrice() + "】――【" + books[bookNum].getCategory() + "】――" + books[bookNum]
.getState());
}
}
}
@Override
public void delete(Book[] books) {
System.out.println(" :");
String name = sc.next();
if (name != null) {
for (int i = 0; i < books.length - 1; i++) {
if (books[i].getName().equals(name)) {
// false
if (!books[i].getState()) {
System.out.println("【" + name + "】" + " !");
} else {
books[i].setState(false);
System.out.println(" !");
}
break;
}
}
}
}
@Override
public void add(Book[] books) {
System.out.println(" :");
String name = sc.next();
if (name != null) {
boolean flag = true;
int i = 0;
while (flag) {
if (books[i].getName().equals(name)) {
if (!books[i].getState()) {
books[i].setState(true);
System.out.println(" !");
flag = false;
} else {
System.out.println(" !");
break;
}
}
i++;
}
}
}
@Override
public void list(Book[] books) {
System.out.println(" :" + "
" + "【 】―― 【 】――【 】――【 】―― "); // Book
for (int i = 0; i < books.length; i++) {
if (books[i] != null) {
if (books[i].price != 0) {
System.out.println(
"【" + books[i].getName() + "】―― 【" + books[i].getAuthor() + "】――【" + books[i].getPrice()
+ "】――【" + books[i].getCategory() + "】――" + books[i].getState());
}
}
}
}
}
7.Main類
public class Main {
public static void main(String[] args) {
Library library = new Library(); // Library
library.login(); // 。
}
}
三、実現結果1.ログイン画面
一般ユーザー登録
2.一般ユーザー:照会、閲覧、返却、表示リスト
3.管理者登録し、図書の価格によって本を整理する
4.管理者が本を追加する
5.管理者が書籍を削除する
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。