地推jAVA座位预约问题问题有偿求解
Posted 普通网友
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了地推jAVA座位预约问题问题有偿求解相关的知识,希望对你有一定的参考价值。
import java.util.Scanner;
public class JwkimConcert
private String hallName;
private JwkimGroup[] group = new JwkimGroup[3];
private Scanner scanner = new Scanner(System.in);
public JwkimConcert(String hallName)
this.hallName = hallName;
group[0] = new JwkimGroup('S', 10); // S 타입 좌석 생성
group[1] = new JwkimGroup('A', 10); // A 타입 좌석 생성
group[2] = new JwkimGroup('B', 10); // B 타입 좌석 생성
private void reserve() // 콘서트 예약
System.out.print("좌석구분 S(1), A(2), B(3)>>");
int type = scanner.nextInt();
if (type < 1 || type > 3)
System.out.println("잘못된 좌석 타입입니다.");
return;
group[type-1].reserve();
private void search() // 콘서트 예약 검색
for (int i=0;i<group.length; i++)
group[i].show();
System.out.println("<<<조회를 완료하였습니다.>>>");
private void cancel() // 콘서트 예약 취소
System.out.print("좌석 S:1, A:2, B:3>>");
int type = scanner.nextInt();
if (type < 1 || type > 3)
System.out.println("잘못된 좌석 타입입니다.");
return;
group[type-1].cancel();
public void run() // 콘서트 예약/취소/검색 등
System.out.println(hallName + " 예약 시스템입니다.");
int choice = 0;
while (choice != 4)
System.out.print("예약:1, 조회:2, 취소:3, 끝내기:4>>");
choice = scanner.nextInt();
switch (choice)
case 1: // 예약
reserve();
break;
case 2: // 조회
search();
break;
case 3: // 취소
cancel();
break;
case 4: // 끝내기
break;
default:
System.out.println("잘못 입력하셨습니다.");
public static void main(String[] args)
JwkimConcert concert=new JwkimConcert("자바 콘스트 홀");
concert.run();
import java.util.Scanner;
public class JwkimGroup
private char type; // 'S', 'A', 'B' 석을 나타내는 문자
private JwkimSeat[] seats; // 현재 등급의 좌석 객체 배열
private Scanner scanner = new Scanner(System.in);
public JwkimGroup(char type, int num)
this.type = type;
seats = new JwkimSeat[num];
for (int i=0; i<seats.length; i++)
seats[i] = new JwkimSeat();
public boolean reserve() // 현재 등급의 좌석 예약
int no;
String name;
show();
System.out.print("이름>>");
name = scanner.next();
System.out.print("번호>>");
no = scanner.nextInt();
if (no < 1 || no >= seats.length)
System.out.println("잘못된 좌석번호입니다.");
return false;
if (seats[no-1].isOccupied()) // 이미 예약된 좌석 번호
System.out.println("이미 예약된 좌석입니다.");
return false;
seats[no-1].reserve(name);
return true;
public boolean cancel() // 현재 등급의 좌석 취소
show();
System.out.print("이름>>"); // 취소할 예약자 이름 입력
String name = scanner.next();
if (name != null)
for (int i=0;i<seats.length; i++)
if (seats[i].match(name))
seats[i].cancel();
return true;
System.out.println("예약자 이름을 찾을 수 없습니다.");
return false; // 예약자 이름을 찾지 못함
public void show() // 현재 등급의 좌석 출력
System.out.print(type + ">> ");
for (int i=0; i<seats.length; i++)
if (seats[i].isOccupied())
System.out.print(seats[i].getName());
else
System.out.print("---");
System.out.print(" ");
System.out.println();
public class JwkimSeat
private String name;
public JwkimSeat()
name = null;
public String getName()
return name;
public void cancel()
name = null;
public void reserve(String name)
this.name = name;
public boolean isOccupied()
if (name == null) // 좌석이 예약되어 있으면 true 반환
return false;
else
return true;
public boolean match(String name)
return(name.equals(this.name));
以上是关于地推jAVA座位预约问题问题有偿求解的主要内容,如果未能解决你的问题,请参考以下文章
图书馆座位预约系统 小程序 校园动态 spring boot Java