A sentimental robot

도서관리프로그램 본문

Java

도서관리프로그램

GOD03219 2017. 12. 29. 14:47

package day1;

import java.util.Scanner;

public class Main {

 

 private static Manager ma;
 private static UserMain u;

 

 public Main() {

  ma = new Manager();
  u = new UserMain();

 }

 

 public static void main(String arg[]) {


  Scanner sc = new Scanner(System.in);


  int n01 = 0;
  char n = 0;
  boolean y;


  Main main = new Main();


  do {
   System.out.println("------------<도서관리 프로그램>----------------");
   System.out.println("1.관리자 모드 2.사용자 모드 3.종료");


   n01 = sc.nextInt();


   switch (n01) {
   case 1:
    System.out.println("ID:");

    y = main.ma.setID(sc.next());
    if (y == false) {
     System.out.println("관리자 아이디를 잘못 입력하셨습니다.다시 실행하세요.");
     System.exit(1);
    }
    System.out.println("Password:");
    y = main.ma.setPassword(sc.nextInt());
    if (y == false) {
     System.out.println("관리자 패스워드를 잘못 입력하셨습니다.다시 실행하세요.");
     System.exit(1);
    }
    System.out.println("관리자 모드입니다.");
    main.ma.ManagerMenu(u, ma);

    break;


   case 2:
    System.out.println("1.회원가입  2.사용자 로그인 ");
    int n02;
    n02 = sc.nextInt();
    if (n02 == 1)
     u.Register();
    if (n02 == 2)
     ma.UserLogin(u);
    break;


   case 3:
    System.out.println("종료되었습니다.이용해주셔서 감사합니다.");
    break;
   default:
    break;

   }
   System.out.println("다시 돌아가시겠습니까? Y 또는 y를 누르세요.");
   n = sc.next().charAt(0);
  } while (n == 'Y' || n == 'y');

 }


}





 




package day1;

import java.util.Scanner;

public class Manager {


 private String ID;
 private int password;
 private UserMain u;
 private BookDB bd;

 

 public Manager() {

  ID = "god";
  password = 1234;
  bd = new BookDB();
 }

 

 public boolean setID(String n) {
  if (n.equals(ID))
   return true;
  else
   return false;

 }

 

 public boolean setPassword(int n) {
  if (n == password)
   return true;

  else
   return false;

 }

 

 public void setUserMain(UserMain u) {
  this.u = u;

 }

 

 public void setBookDB(BookDB bd) {
  this.bd = bd;

 }

 

 public void ManagerMenu(UserMain u, Manager ma) {


  Scanner sc = new Scanner(System.in);
  int num;
  System.out.println("1.사용자 조회 2.도서 추가 3.도서 목록 보기  ");
  num = sc.nextInt();

 

  switch (num) {
  case 1:

   setUserMain(u);
   u.UserList();

   break;


  case 2:

   bd.AddBook();
   break;


  case 3:
   if (bd == null) {
    System.out.println("도서가 존재하지 않습니다.");
    System.exit(1);
   }
   bd.ListBook();
   break;


  case 4:
   if (bd == null) {
    System.out.println("도서가 존재하지 않습니다.");
    System.exit(1);
   }
   bd.SearchBook();
   break;

 

  default:
   System.out.println("잘못 입력하셨습니다.");break;

  }

 }

 

 public void UserLogin(UserMain um) {


  Scanner sc = new Scanner(System.in);

  boolean y;
  System.out.println("ID: ");
  y = um.setID(sc.next());
  if (y == false) {
   System.out.println("아이디가 존재하지 않습니다.");
   System.exit(1);
  }
  System.out.println("Password:");
  y = um.setPassword(sc.nextInt());
  if (y == false) {
   System.out.println("패스워드가 일치하지 않습니다.");
   System.exit(1);


  }
  um.UserManage(bd);

 }

}

 


 



 



package day1;

import java.util.Scanner;

public class UserMain {

 

 private User u[];

 int count;
 private BookDB bd;
 private Manager ma;

 

 public UserMain() {
  count = 0;
  u = new User[100];
 }

 

 public void setBookDB(BookDB bd) {
  this.bd = bd;

 }

 public void Register() {
  Scanner sc = new Scanner(System.in);

  u[count] = new User();

  System.out.println("이름:");
  u[count].setuserName(sc.next());
  System.out.println("ID:");
  u[count].setID(sc.next());


  for (int i = 0; i < count; i++) {
   if (u[i].getID().equals(u[i].getID()))
    System.out.println("존재하는 아이디가 있습니다.다시 입력하세요.");
   System.exit(1);

  }
  System.out.println("Password:");
  u[count].setPassword(sc.nextInt());

  count++;

  System.out.println("회원가입을 축하합니다~");

 }

 

 public void setMain(BookDB bd) {
  this.bd = bd;

 }

 

 public void UserManage(BookDB bd) {
  Scanner sc = new Scanner(System.in);
  int num = 0;
  System.out.println("1.도서 대여 2. 도서 반납  3.도서 검색");
  num = sc.nextInt();


  switch (num) {
  case 1:
   setMain(bd);
   bd.LendBook();
   break;


  case 2:
   bd.ReturnBook();
   break;


  case 3:
   bd.SearchBook();
   break;


  default:
   System.out.println("잘못 입력하셨습니다.");
   break;

  }

 }

 

 public void UserList() {

  if (count == 0)
   System.out.println("사용자가 존재하지 않습니다.");


  for (int i = 0; i < count; i++) {

   System.out.println("사용자 이름: " + u[i].getUserName());
   System.out.println("사용자 아이디:" + u[i].getID());
   System.out.println("사용자 비밀번호:" + u[i].getPassword());

  }

 }

 

 public boolean setID(String n) {

  for (int i = 0; i < count; i++) {
   if (n.equals(u[i].getID()))
    return true;
  }
  return false;

 }

 

 public boolean setPassword(int n) {
  for (int i = 0; i < count; i++) {
   if (n == u[i].getPassword())
    return true;
  }
  return false;

 }

 

}



 

 


 




package day1;

public class User {

 

 private String userName;
 private String id;
 private int password;

 

 public void setuserName(String n) {

  userName = n;

 }

 

 public String getUserName() {

  if (userName == " 0") return "0";

  return userName;

 }

 

 public void setID(String n) {

  id = n;

 }

 

 public String getID() {

  return id;

 }

 

 public void setPassword(int n) {

  password = n;

 }

 

 public int getPassword() {

  return password;

 }

 

}

 


 


 


package day1;

import java.util.Scanner;

public class BookDB {


 private Book b[];
 int count;

 

 public BookDB() {

  b = new Book[100];
  count = 0;

 }

 

 public void AddBook() {
  Scanner sc = new Scanner(System.in);

  b[count] = new Book();
  System.out.println("책 이름:");
  b[count].setBookName(sc.next());
  System.out.println("저자:");
  b[count].setAuthor(sc.next());
  count++;


  System.out.println("책이 등록되었습니다.");
 }

 

 public void ListBook() {

  for (int i = 0; i < count; i++) {
   System.out.println("책이름 :" + b[i].getBookName());
   System.out.println("저자 :" + b[i].getAuthor());
  }


 }

 

 public void SearchBook() {


  String n = new String();

  Scanner sc = new Scanner(System.in);
  System.out.println("검색할 책 이름: ");
  n = sc.next();
  for (int i = 0; i < count; i++) {
   if (n.equals(b[i].getBookName())) {
    System.out.println("책 이름:" + b[i].getBookName());
    System.out.println("저자 :" + b[i].getAuthor());
   } else
    System.out.println("검색한 책이 존재하지 않습니다.");
  }
 }

 

 

 public void LendBook() {

 

  String n = new String();

  Scanner sc = new Scanner(System.in);
  System.out.println("대출할 책 이름: ");
  n = sc.next();
  if (count == 0)
   System.out.println("등록된 책이 없습니다.");

 

  for (int i = 0; i < count; i++) {
   if (n.equals(b[i].getBookName())) {
    System.out.println("책 제목 :" + b[i].getBookName());

    System.out.println("저자 :" + b[i].getAuthor());

    System.out.println("대출 하시겠습니까?Y/y");
    int ans;
    ans = sc.next().charAt(0);
    if (ans == 'y' || ans == 'Y') System.out.println("대출되었습니다.");
    b[i].setState("대출 불가능");

   }

  }
 }

 

 public void ReturnBook() {


  String n = new String();

  Scanner sc = new Scanner(System.in);
  System.out.println("반납할 책 이름: ");
  n = sc.next();
  if (count == 0)
   System.out.println("반납할 책이 없습니다.");
  for (int i = 0; i < count; i++) {
   if (n.equals(b[i].getBookName())) {
    System.out.println("책 제목:" + b[i].getBookName());
    System.out.println("반납되었습니다.");
  
   }
  }

 }

}


 


 



public class Book {

 

 private String bookName;
 private String author;

 

 public void setBookName(String n) {

  bookName = n;

 }

 public String getBookName() {

  return bookName;

 }

 public void setAuthor(String n) {

  author = n;

 }

 public String getAuthor() {

  return author;

 }

}

'Java' 카테고리의 다른 글

중첩 인터페이스  (0) 2018.01.04
Generic  (0) 2017.12.29
Reference's reference  (0) 2017.12.29
InetAddress Class  (0) 2017.12.29
Map을 이용한 성적관리  (0) 2017.12.29