Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
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
Archives
Today
Total
관리 메뉴

Everything has an expiration date

좌석 객체 Seat 배열 Seat[] 참고사항. 본문

[Java]/SemiProject - VendingMachine

좌석 객체 Seat 배열 Seat[] 참고사항.

Jelly-fish 2023. 10. 7. 10:58
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

*/