Power java 10장 Programming 1번문제 풀이

Posted by 알 수 없는 사용자
2016. 4. 11. 11:36 Java/PowerJava 문제풀이

※ 문제풀이는 작성자 본인이 직접 한것이므로 정답이 아닐 수 있습니다.

   혹시 보시고 틀린 부분이 있으면 알려주시기 바랍니다.

 

1. 문제는 책을 참고하시길 바랍니다.

   문제와 다르게 작성한점은  아래와 같습니다.

   - 좌석 예약시 1 과 0을 사용하지 않고 y와 n을 사용하였습니다.

   - 좌석 개수가 10개 고정이아니라 가변적으로 늘릴수있게 변경하였습니다.

 

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
package day07;
 
import java.util.Scanner;
 
public class Programming10_1 {
    public static void main(String[] args) {
        reserve_system();
            
    }
    public static void charBar(){
        for(int i=1;i<21;i++)
            System.out.print("*");
        System.out.println();
    }
    public static void reserve_system(){
        Scanner sc = new Scanner(System.in);
        
        int size;
        char yn=0;
        String str;
        int reserve;
        System.out.print("좌석의 크기 입력 : ");
        size=sc.nextInt();
        
        int[] seats = new int[size];//자동으로 배열이 초기화-->배열이 정수형이므로 0을 초기값으로 가짐,소수형이면 0.0이 초기값
        while(true){
            System.out.print("예약하시겠습니까?");
            str=sc.next();
            yn =str.charAt(0); 
            
            
            if(yn == 'y'){
               charBar();
                seatDisplay(seats);
                charBar();
                System.out.println("몇번째좌석을 예약하시겠습니까? : ");
                reserve = sc.nextInt();
                if(reserve>seats.length){
                    System.out.println("없는 좌석번호입니다.1~"+size+"사이의 수를 입력하세요");
                    continue;
                }
                if(seats[reserve-1== 0){
                    seats[reserve-1= 1;
                    System.out.println("예약되었습니다.");
                    charBar();
                    seatDisplay(seats);
                    charBar();
                }
                else if(seats[reserve-1== 1){
                    System.out.print("이미 예약된 좌석입니다.");
                }
                
                
                
            }else if(yn == 'n'){
                charBar();
                System.out.println("예약 시스템 종료");
                charBar();
                System.exit(0);//break;
            }
            else{
                System.out.println("예약하려면 y 종료하시려면n을 입력해주세요");
            }
        }
    }
    public static void seatDisplay(int[] arr){
        for(int i=0;i<arr.length;i++){
            System.out.printf(" %d",i+1);
        }
        System.out.println();
        for(int i=0;i<arr.length;i++){
            System.out.printf(" %d",arr[i]);
        }
        System.out.println();
    }
 
}
 
 
 
cs

 ※ 문제 출처 : POWER JAVA 2판/인피니티북스/천인국 하상호 공저  

'Java > PowerJava 문제풀이' 카테고리의 다른 글

Power java 11장 Programming 1번문제 풀이  (0) 2016.04.12
Power java 10장 Programming 2번문제 풀이  (0) 2016.04.11
Power java 11장 LAB  (0) 2016.04.11
Power java 10장 LAB  (0) 2016.04.11
Power java 09장 LAB  (0) 2016.04.08