자바 간단 한 도서 관리 시스템 구현
프로젝트 분포
북 클래스:책의 일부 속성(책 이름,작가,가격,분류,상태)을 정의 하고 속성의 get,set 방법 을 썼 습 니 다.
Library 클래스:로그 인 함수(1,일반 사용자,2,관리자,3,시스템 종료)를 썼 습 니 다.
Person 클래스:정 의 된 사람의 속성(이름,성별,나이)과 속성의 get,set 방법 을 써 서 책 을 정 의 했 습 니 다.
operate 인터페이스:조작 인터페이스,조작 방법:조회/조회,삭제/대출,추가/반납,책 목록 표시
루트 클래스:Person 클래스 를 계승 하여 operate(조회,삭제,증가,책 목록 표시)인 터 페 이 스 를 실현 합 니 다.
User 클래스:Person 클래스 를 계승 하여 operate(조회,대출,반납,책 목록 표시)인 터 페 이 스 를 실현 합 니 다.
Main 클래스:Main 의 주 함수 가 전체 항목 을 엽 니 다.
모형 도:
성명:본 프로젝트 는 대상 을 대상 으로 하 는 간단 한 입문 작은 프로젝트 일 뿐 일부 기초 이론 을 파악 해 야 한다.예 를 들 어 대상,유형,추상 류,인터페이스,계승,실현,배열 과 배열 의 조작,for 순환,while 순환,switch 문,if 문 구 를 파악 해 야 한다.
코드 전시
1.도서 류
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.라 이브 러 리 클래스
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(); // 。
}
}
3.실현 결과1.로그 인 인터페이스
일반 사용자 로그 인
2.일반 사용자:조회,대출,반환,목록 표시
3.관리자 로그 인,도서 가격 에 따라 책 정리
4.관리자 책 추가
5.관리자 가 책 삭제
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.