Q1. 랜덤 함수를 통해 0~25까지의 값을 랜덤으로 받아서 알파벳 문자 만들기 함수화
(A=65 ~ Z=90이다.) (단, Q가 나오는 순간 반복문이 종료되고, 현재까지 받아진 문자열을 출력할 것)
package Day12;
import java.util.Random;
/*
* Q.27
* Q.5번 문제를 최소 2개 이상의 함수화로 구현해주세요
* */
public class Question1 {
public static int ran() {
Random r = new Random();
int num = r.nextInt(24);
return num;
}
public static void make() {
char i = 'A';
String language = "";
while(true) {
int num = ran();
num += (int)i;
char temp = (char)num;
if(temp == 'Q')
break;
language += temp;
}
System.out.println(language);
}
public static void main(String[] args) {
make();
}
}
Q2. 비행기 예약 프로그램 함수화
package Day12;
import java.util.Scanner;
/*
* Q,28
* Q18문제를 최소 3개 이상의 함수화로 구현을 해주세요
* 비행기 예약 프로그램
* */
public class Question3 {
//티켓팅
public static int[][] ticketing(int[][] seat) {
Scanner sc = new Scanner(System.in);
int cnt = 0;
for(int i=0; i<8; i++) {
for(int j=0; j<2; j++) {
if(seat[i][j]==0) {
cnt++;
}
}
}
if(cnt != 0) {
System.out.println("예매하실 좌석을 선택해주세요 ex) 0~7줄 0~1좌석");
System.out.println("0~7사이의 줄을 선택해주세요 ");
int userRow = sc.nextInt();
System.out.println("0~1사이의 좌석을 선택해주세요.");
int userCol = sc.nextInt();
if(userRow>=0 && userRow<=7 && userCol>=0 && userCol<=1) {
if(seat[userRow][userCol] == 0) {
seat[userRow][userCol] = 1;
System.out.println("감사합니다. 좌석이 예매 완료되었습니다.");
System.out.println("처음 화면으로 돌아갑니다.");
System.out.println();
}else {
System.out.println("죄송합니다. 이미 예약된 좌석입니다.");
System.out.println("처음 화면으로 돌아갑니다.");
System.out.println();
}
}else {
System.out.println("잘못된 좌석 선택입니다. 처음 화면으로 돌아갑니다.");
System.out.println();
}
}else {
System.out.println("모든 좌석의 예매가 끝났습니다.처음 화면으로 돌아갑니다.");
System.out.println();
}
return seat;
}
//조회
public static void select(int[][] seat) {
System.out.println("빈 좌석 조회 화면입니다. 현재 빈 좌석은");
for(int i=0; i<8; i++) {
for(int j=0; j<2; j++ ) {
if(seat[i][j] == 0) {
System.out.print(i+" "+j+" ");
}
}
}
System.out.println("좌석입니다.");
System.out.println("초기화면으로 돌아갑니다.");
System.out.println();
}
public static void proStart() {
Scanner sc = new Scanner(System.in);
int [][] seat = new int[8][2];
while(true) {
System.out.println("비행기 예약 프로그램입니다. 원하시는 메뉴를 선택해주세요.");
System.out.println("1. 좌석 예매 | 2. 빈 좌석 조회 | 3. 프로그램 종료 ");
int choice = sc.nextInt();
if(choice == 1) {
seat = ticketing(seat);
}else if(choice == 2) {
select(seat);
}else if(choice == 3) {
System.out.println("프로그램을 종료합니다.");
break;
}else {
System.out.println("잘못된 메뉴 입력입니다. 초기화면으로 돌아갑니다.");
System.out.println();
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
proStart();
}
}
기존에 풀었던 문제들을
함수화 시키기
'공부 > 과제.' 카테고리의 다른 글
JAVA 문제풀이 18 (0) | 2021.07.02 |
---|---|
JAVA 문제풀이 17 (0) | 2021.07.02 |
JAVA 문제풀이 15 (0) | 2021.05.07 |
JAVA 문제풀이 14 (0) | 2021.05.07 |
JAVA 문제풀이 13 배열 낚시 게임 (0) | 2021.04.28 |
댓글