Notice
Recent Posts
Recent Comments
Link
Everything has an expiration date
좌석 객체 Seat 배열 Seat[] 참고사항. 본문
package LastSemiTest01;
import java.util.Scanner;
class TrainSeatSelect2
{
Seat[] seatArr = new Seat[15]; //-- 임시로 15석으로 설정.
int inwon;
int[] selectSeatNumber;
int[] selectOptionNum = new int[5];
String[] seatProperties = {"소요 시간 : ", "출발 연도 : ", "출발 월 : ", "출발 일 : ", "출발 시간 : "};
public void createSeatObject()
{
for(int i = 0; i < 15; i++)
{
seatArr[i] = new Seat();
seatArr[i].setSeatNumber(i+1);
}
}
public void inputNumberOfPeople()
{
Scanner sc = new Scanner(System.in);
do
{
System.out.print("인원 수 입력 : ");
inwon = sc.nextInt();
}
while(inwon < 1 || inwon> 15);
selectSeatNumber = new int[inwon];
}
public void inputSeatProperties()
{
Scanner sc = new Scanner(System.in);
createSeatObject();
for (int i = 0; i < inwon ; i++)
{
do
{
System.out.printf("%d번째 좌석 번호 입력 : ", (i+1));
selectSeatNumber[i] = sc.nextInt();
}
while(selectSeatNumber[i] < 0 || selectSeatNumber[i] > 15);
}//end outer for
for (int j = 0; j < 5; j++)
{
System.out.print(seatProperties[j]);
selectOptionNum[j] = sc.nextInt();
}
for (int k = 0; k < selectSeatNumber.length; k++)
{
for (int j = 0; j < 15; j++)
{
// 선택한 좌석 번호와, Seat 객체의 좌석 번호 속성 값이 일치할 때 그 값을 가져온다.
if (selectSeatNumber[k] == seatArr[j].getSeatNumber())
{
seatArr[j].setTimeTaken(selectOptionNum[0]);
seatArr[j].setDepartureYear(selectOptionNum[1]);
seatArr[j].setDepartureMonth(selectOptionNum[2]);
seatArr[j].setDepartureDate(selectOptionNum[3]);
seatArr[j].setDepartureTime(selectOptionNum[4]);
}
}
}
}//end input()
public void print()
{
/*
for (int i = 0; i < selectSeatNumber.length; i++)
{
// 좌석 번호, 속성 출력. (같은 예매자이므로 모든 좌석에 동일 속성.)
System.out.printf("\n%d번째 좌석 번호 : %d", i+1, seatArr[selectSeatNumber[i]].getSeatNumber());
System.out.printf("\n%d번째 소요 시간 : %d", i+1, seatArr[selectSeatNumber[i]].getTimeTaken());
System.out.printf("\n%d번째 출발 연도 : %d", i+1, seatArr[selectSeatNumber[i]].getDepartureYear());
System.out.printf("\n%d번째 출발 월 : %d", i+1, seatArr[selectSeatNumber[i]].getDepartureMonth());
System.out.printf("\n%d번째 출발 일 : %d", i+1, seatArr[selectSeatNumber[i]].getDepartureDate());
System.out.printf("\n%d번째 출발 시간 : %02d:00", i+1, seatArr[selectSeatNumber[i]].getDepartureTime());
// 개행
System.out.println();
}
*/
for (int i = 0; i < selectSeatNumber.length; i++)
{
for (int j = 0; j < 15; j++)
{
// 선택한 좌석 번호와, Seat 객체의 좌석 번호 속성 값이 일치할 때 그 값을 가져온다.
if (selectSeatNumber[i] == seatArr[j].getSeatNumber())
{
// 좌석 번호, 속성 출력. (같은 예매자이므로 모든 좌석에 동일 속성.)
System.out.printf("\n%d번째 좌석 번호 : %d", i+1, seatArr[j].getSeatNumber());
System.out.printf("\n%d번째 소요 시간 : %d", i+1, seatArr[j].getTimeTaken());
System.out.printf("\n%d번째 출발 연도 : %d", i+1, seatArr[j].getDepartureYear());
System.out.printf("\n%d번째 출발 월 : %d", i+1, seatArr[j].getDepartureMonth());
System.out.printf("\n%d번째 출발 일 : %d", i+1, seatArr[j].getDepartureDate());
System.out.printf("\n%d번째 출발 시간 : %02d:00", i+1, seatArr[j].getDepartureTime());
// 개행
System.out.println();
}
}
}
}
}
public class TrainSeatSelect
{
public static void main(String[] args)
{
TrainSeatSelect2 tss = new TrainSeatSelect2();
tss.createSeatObject();
tss.inputNumberOfPeople();
tss.inputSeatProperties();
tss.print();
}
}
// 실행 결과
/*
인원 수 입력 : 3
1번째 좌석 번호 입력 : 10
2번째 좌석 번호 입력 : 49080
2번째 좌석 번호 입력 : 8085085
2번째 좌석 번호 입력 : 3490340
2번째 좌석 번호 입력 : 7
3번째 좌석 번호 입력 : 3
소요 시간 : 3
출발 연도 : 2023
출발 월 : 10
출발 일 : 7
출발 시간 : 10
1번째 좌석 번호 : 10
1번째 소요 시간 : 3
1번째 출발 연도 : 2023
1번째 출발 월 : 10
1번째 출발 일 : 7
1번째 출발 시간 : 10:00
2번째 좌석 번호 : 7
2번째 소요 시간 : 3
2번째 출발 연도 : 2023
2번째 출발 월 : 10
2번째 출발 일 : 7
2번째 출발 시간 : 10:00
3번째 좌석 번호 : 3
3번째 소요 시간 : 3
3번째 출발 연도 : 2023
3번째 출발 월 : 10
3번째 출발 일 : 7
3번째 출발 시간 : 10:00
*/