STORAGE

도서관리프로그램 코드(1)

alea90 2020. 2. 3. 00:37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
1.도서관리 기능을 갖는 프로그램 만들어 보세요.
도서정보 : 도서번호,도서제목,저자,출판사
도서정보를 갖는 클래스를 만들고 ArrayList에 저장하고 아래의 기능을
작성해 보세요.
 
도서추가기능
도서검색기능(도서번호로 검색하면 모든 정보 출력)
도서삭제기능(삭제할 도서번호를 입력하면 해당 정보 삭제)
도서수정기능(도서번호를 입력받아 도서제목,저자,출판사를 수정할 수 
있도록)
전체도서정보출력기능
 
==== 화면  ====
1.도서추가  2.도서검색 3.도서삭제   4.도서수정  5.전체도서정보출력 6.종료
원하는 메뉴:1
[도서추가]
도서번호:__
 
<정답>
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Iterator;
class Book{
    private String num;   //도서번호
    private String title; //도서제목
    private String name;  //저자
    private String publi; //출판사
    public Book(String num,String title,String name,String publi){
        this.num=num;
        this.title=title;
        this.name=name;
        this.publi=publi;
    }
    public String getNum(){
        return num;
    }
    public String getTitle(){
        return title;
    }
    public String getName(){
        return name;
    }
    public String getPubli(){
        return publi;
    }
    public void print(){
        System.out.println("도서번호: "+num);
        System.out.println("도서제목: "+title);
        System.out.println("저자: "+name);
        System.out.println("출판사: "+publi);
    }
 
}
class Song{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        ArrayList<Book> list=new ArrayList<>();
        loop:
        while(true){
        System.out.println("1.도서추가 2.도서검색 3.도서삭제 4.도서수정 5.전체도서정보출력 6.종료");
        int selec=sc.nextInt();
        switch(selec){
        case 1System.out.print("도서번호: ");
                String num=sc.next();
                System.out.print("도서제목: ");
                String title=sc.next();
                System.out.print("저자: ");
                String name=sc.next();
                System.out.print("출판사: ");
                String publi=sc.next();
                Book book=new Book(num,title,name,publi);
                list.add(book);
                break;
        case 2System.out.print("찾고싶은 책의 도서 번호를 입력하세요: ");
                String bookNum1=sc.next();
                for(int i=0; i<list.size(); i++){
                    Book b1=list.get(i);
                    String num1=b1.getNum(); //ArrayList에 있는 도서번호
                    if(bookNum1.equals(num1)){ //입력받은 번호와 리스트에 있는 번호와 일치하는 정보를 찾음
                    b1.print();
                    break;
                    }else if(i==list.size()-1){
                        System.out.println("찾고싶은 도서가 없습니다.");
                    }
                }
                break;
        case 3System.out.print("삭제하고싶은 책의 도서 번호를 입력하세요: ");
                String bookNum2=sc.next();
                for(int i=0; i<list.size(); i++){
                    Book b2=list.get(i);
                    String num2=b2.getNum();
                    if(bookNum2.equals(num2)){
                        Book b3=list.remove(i);
                        System.out.println(b3.getTitle()+" 책이 삭제되었습니다.");
                    }
                }
                break;
 
        case 4System.out.print("수정하고싶은 책의 도서 번호를 입력하세요: ");
                String bookNum3=sc.next();
                for(int i=0; i<list.size(); i++){
                    Book b3=list.get(i);
                    String num3=b3.getNum();
                    if(bookNum3.equals(num3)){
                        System.out.print("도서번호: ");
                        String setNum=sc.next();
                        System.out.print("도서제목: ");
                        String setTitle=sc.next();
                        System.out.print("저자: ");
                        String setName=sc.next();
                        System.out.print("출판사: ");
                        String setPubli=sc.next();
                        Book b4=list.set(i,new Book(setNum,setTitle,setName,setPubli));
                    }
                }
                break;
        case 5: Iterator<Book> it=list.iterator();
                while(it.hasNext()){
                    Book result=it.next();
                    result.print();
                    System.out.println();
                }
                break;
        case 6System.out.println("종료되었습니다."); break loop;
        }
        }
    }
}
 
 
 
 
cs