JAVA 초급 프로젝트-도서 관리 시스템 실현
먼저 실행 인터페이스 효과 도 를 보 여 줍 니 다.코드 를 실행 한 후에 콘 솔 에 다음 과 같은 화면 을 표시 합 니 다.
그 다음 에 사용자 가 실수 하거나 잘못된 수 를 잘못 입력 하면 다시 입력 하 게 합 니 다.
사용자 가 2 를 입력 하면 도 서 를 볼 수 있 고 기 존의 도 서 를 볼 수 있다.도서 제목,대출 상태,대출 횟수,대출 날짜 등 정 보 를 포함한다.
사용자 가 1 을 입력 하면 도 서 를 새로 추가 할 수 있 고 사용자 에 게 새로 추 가 된 도서 이름 을 다시 입력 할 수 있 습 니 다.여기 블 로 거들 은 my book 을 사용 합 니 다.효 과 는 다음 과 같 습 니 다.
사용자 가 3 을 입력 하면 도 서 를 빌려 볼 수 있다.사용자 로 하여 금 대출 한 도서 이름 을 다시 입력 하 게 하고 입력 한 이름 이 도서관 에 없 으 면 대출 할 수 없다.만약 에 관 에 있 고 상태 가 이미 빌려 준 것 이 라면 다시 빌려 볼 수 없다.관 에 있 고 대출 이 가능 한 상태 라면 대출 이 가능 하 다.
사용자 가 4 를 입력 하면 도 서 를 돌려 줄 수 있다.다시 한 번 사용자 에 게 돌려 준 도서 이름 을 입력 하 게 하 는 것 은 마찬가지 로 도서관 에서 이 이름 을 찾 지 못 하면 사용자 가 본 도서관 의 책 이 아니 라 돌려 주지 않 아 도 된다 는 것 을 알려 준다.이 책의 이름 을 찾 으 면 대출 이 가능 하고 돌려 줄 수도 없다.이 책 을 찾 았 고 빌려 준 상태 라면 도서 반환 이 가능 하 다.또한 사용자 가 반환 날 짜 를 입력 하고 반환 날 짜 를 판단 하도록 해 야 한다.만약 에 날짜 가 대출 날짜 보다 적 으 면 사용자 에 게 반환 날 짜 는 반드시 대출 날짜 보다 크 고 사용자 가 다시 입력 하도록 해 야 한다.입력 이 성공 하면 반환 성공 을 나타 낸다.
사용자 가 5 를 입력 하면 도 서 를 삭제 하 는 작업 을 할 수 있다.만약 에 이 관 에서 사용자 가 입력 한 책 이름 을 찾 지 못 하면 사용자 에 게 본 도서관 의 책 이 아니 라 돌려 주지 않 아 도 된다 는 것 을 알려 준다.만약 에 찾 았 고 상태 가 이미 빌려 준 것 이 라면 돌려 줄 수 없다.이 책 을 찾 고 책 상 태 를 빌려 볼 수 있 으 면 도 서 를 삭제 하 는 작업 을 할 수 있다.
사용자 가 6 을 입력 하면 시스템 을 종료 합 니 다.
원본 코드 는 다음 과 같 습 니 다:
package cn.kgc.sg.MiTuSys;
import java.util.Scanner;
public class MiNiBookMgrSys {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//
String[] bookNames = new String[6];
int[] borrowDates = new int[6];
int[] borrowCounts = new int[6];
int[] states = new int[6];
//
bookNames[0] = " ";
borrowDates[0] = 15;
borrowCounts[0] = 16;
states[0] = 0;//0: 1:
bookNames[1] = " ";
borrowDates[1] = 0;
borrowCounts[1] = 0;
states[1] = 1;//0: 1:
bookNames[2] = "Java ";
borrowDates[2] = 0;
borrowCounts[2] = 0;
states[2] = 0;//0: 1:
int num = -1;//
boolean flag = true;//true: false:
do{
System.out.println("************ MiNi **********");
System.out.println("\t\t\t\t\t1. ");
System.out.println("\t\t\t\t\t2. ");
System.out.println("\t\t\t\t\t3. ");
System.out.println("\t\t\t\t\t4. ");
System.out.println("\t\t\t\t\t5. ");
System.out.println("\t\t\t\t\t6. ");
System.out.print("
:");
int choose = sc.nextInt();
while(choose<0 || choose>6){
System.out.print(" , :");
choose = sc.nextInt();
}
switch(choose){
case 1:
System.out.println("************1. **********");
System.out.print(" :");
String addBook = sc.next();
boolean isAdd = false;//false: true:
// ,
for(int i =1;i<bookNames.length;i++){
// ,
if(bookNames[i] == null){
isAdd = true;
bookNames[i] = addBook;
System.out.println(" !!!");
break;
}else{
isAdd = false;
}
}
//
for(int i = 0;i<bookNames.length;i++){
// ,
if(bookNames[i] != null){
String state = (states[i]==0)?" ":" "; // 0 1 “ ”
String borrowCount = borrowCounts[i]+" ";
String borrowDate = borrowDates[i] + " ";
System.out.println((i+1)+"\t\t"+bookNames[i]+"\t\t"+state+"\t\t"+
borrowCount+"\t\t"+borrowDate);
}
}
if(!isAdd){
System.out.println(" , , !");
break;
}
break;
case 2:
System.out.println("2. ");
System.out.println(" "+"\t\t\t"+" "+"\t\t\t"+" "+"\t\t"+" "+
"\t\t"+" ");
//
for(int i = 0;i<bookNames.length;i++){
// ,
if(bookNames[i] != null){
String state = (states[i]==0)?" ":" "; // 0 1 “ ”
String borrowCount = borrowCounts[i]+" ";
String borrowDate = borrowDates[i] + " ";
System.out.println((i+1)+"\t\t"+bookNames[i]+"\t\t"+state+"\t\t"+
borrowCount+"\t\t"+borrowDate);
}
}
break;
case 3:
System.out.println("3. ");
System.out.print(" :");
String borrowName = sc.next();
boolean isBorrow = false;//true:
for(int i = 0;i<bookNames.length;i++){
// , ,
if(bookNames[i] != null && bookNames[i].equals(borrowName) && states[i] == 0){
isBorrow = true;
//
System.out.print(" :");
int borrowRiQi = sc.nextInt();
//
while(borrowRiQi < 1 || borrowRiQi > 31){
System.out.print(" , :");
borrowRiQi = sc.nextInt();
}
System.out.println(" !!!");
//
borrowDates[i] = borrowRiQi;
//
states[i] = 1;
//
borrowCounts[i]++;
break;
}else if(bookNames[i] != null && bookNames[i].equals(borrowName) && states[i] == 1){
// , ,
isBorrow = true;
System.out.println(" , !");
break;
//if(bookNames[i] == null)
//if(!bookNames[i].equals(borrowName))
}/*else if(bookNames[i] == null){
isBorrow = false;
break;
}*/
}
if(!isBorrow){
//bookNames[i] == null,
System.out.println(" , !!!");
break;
}
break;
case 4:
System.out.println("4. ");
System.out.print(" :");
String returnName = sc.next();
boolean isReturn = false;//true:
for(int i = 0;i<bookNames.length;i++){
//if(!bookNames[i].equals(borrowName))
/*if(bookNames[i] == null){
//
isReturn = false;
break;
}else*/
// , ,
if(bookNames[i]!=null && bookNames[i].equals(returnName) && states[i] == 1){
isReturn = true;
//
System.out.print(" :");
int returnRiQi = sc.nextInt();
//
while(returnRiQi < 1 || returnRiQi > 31 || returnRiQi<borrowDates[i]){
//
if(returnRiQi < 1 || returnRiQi > 31){
System.out.print(" , :");
returnRiQi = sc.nextInt();
}else if(returnRiQi<borrowDates[i]){
System.out.print(" , :");
returnRiQi = sc.nextInt();
}
}
System.out.println(" !!!");
//
states[i] = 0;
/*//
borrowCounts[i]++;*/
break;
}else if(bookNames[i]!=null && bookNames[i].equals(returnName) && states[i] == 0){
// , ,
isReturn = true;
System.out.println(" , !");
break;
}
}
if(!isReturn){
//bookNames[i] == null. ,
System.out.println(" , , !!!");
break;
}
break;
case 5:
System.out.println("5. ");
System.out.print(" :");
String deleteName = sc.next();
boolean isDelete = false;//true: false:
for(int i = 0;i<bookNames.length;i++){
/*//if(!bookNames[i].equals(borrowName))
if(bookNames[i] == null){
// ,
isDelete = false;
break;
}else*/
if(bookNames[i] != null && bookNames[i].equals(deleteName) && states[i] == 1){
// , ,
isDelete = true;
System.out.println(" , !");
break;
}else if(bookNames[i] != null && bookNames[i].equals(deleteName) && states[i] == 0){
// , ,
isDelete = true;
// index,
int index = -1;
if(bookNames[i].equals(deleteName)){
index = i;
}
// index -1 i
if(index != -1){
//index -1, ,
for(i = index;i<bookNames.length-1;i++){
// index1 ,
bookNames[i] = bookNames[i+1];
borrowDates[i] = borrowDates[i+1];
borrowCounts[i] = borrowCounts[i+1];
states[i] = states[i+1];
//
bookNames[bookNames.length-1] = null;
borrowDates[bookNames.length-1] = 0;
borrowCounts[bookNames.length-1] = 0;
states[bookNames.length-1] = 0;//0: 1:
}
}
System.out.println(" !");
break;
}
}
if(!isDelete){
//bookNames[i] == null. ,
System.out.println(" , ");
break;
}
break;
case 6:
flag = false; //
break;
default:
flag = false; //
break;
}
if(flag){
System.out.print("
0 :");
num = sc.nextInt();
}else{
break;
}
}while(num == 0);
System.out.println(" !!!");
}
}
ps:본인 도 자바 개발 을 배우 고 있 습 니 다.입문 한 지 얼마 되 지 않 았 기 때문에 자바 가 개발 한 자료 와 컴퓨터 관련 전자 책 등 자료 도 있 습 니 다.그래서 원 하 는 파트너 가 있 으 면 많이 소통 할 수 있 습 니 다.같이 많이 교류 하고 교류 할 수 있 습 니 다!!O(∩_∩)O이상 은 JAVA 초급 프로젝트-도서 관리 시스템 을 실현 하 는 상세 한 내용 입 니 다.JAVA 도서 관리 시스템 에 관 한 자 료 는 우리 의 다른 관련 글 을 주목 하 세 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 객체 작성 및 제거 방법정적 공장 방법 정적 공장 방법의 장점 를 반환할 수 있습니다. 정적 공장 방법의 단점 류 공유되거나 보호된 구조기를 포함하지 않으면 이불류화할 수 없음 여러 개의 구조기 파라미터를 만났을 때 구축기를 고려해야 한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.