본문 바로가기
JAVA

JAVA 자바 빵 예제 (ver.강사님)

by Minius 2018. 2. 10.
반응형
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
import java.util.StringTokenizer;

public class Bakery2 {

	static int sum =0;	// 주문수량
	static ArrayList breadType = new ArrayList(); // 빵종류
	
	static HashMap hashmap = new HashMap();
	static HashMap hashmap2 = new HashMap();
	
	public static void main(String[] args) {

		// 1. 주문량 접수
		getBreadSum();
		
		// 2. 제과종류;
		getBreadType();
				
		// 3. 제과생산
		makeBakery();
		
		// 4. 제과종류별 카운트
		countBread();
		
		// 5. 화면출력;
		printList();
	}

	private static void printList() {
		Calendar c1 = Calendar.getInstance();
		Calendar c2 = Calendar.getInstance();

		int year = c1.get(Calendar.YEAR);
		int month = c1.get(Calendar.MONTH) + 1;
		int day = c1.get(Calendar.DAY_OF_MONTH);

		int our = c1.get(Calendar.HOUR);
		int minute = c1.get(Calendar.MINUTE);
		int second = c1.get(Calendar.SECOND);

		c2.add(Calendar.MONTH, 30); // 유통기한 30개월
		int year2 = c2.get(Calendar.YEAR);
		int month2 = c2.get(Calendar.MONTH) + 1;
		int day2 = c2.get(Calendar.DAY_OF_MONTH);

		System.out.println("총 " + hashmap.size() + "개의 빵을 생산하였습니다.");
		
		Iterator it = hashmap2.keySet().iterator();
		String key, value;
		while(it.hasNext()) {
			key = (String)it.next();
			value = (String)hashmap2.get(key);
			
			System.out.println(key + "\t:" + value + "개");			
		}

		System.out.println("제조년월일 \t:" + Integer.toString(year) + "-"
				+ Integer.toString(month) + "-" + Integer.toString(day));
		System.out.println("제조시간 \t:" + Integer.toString(our) + "시"
				+ Integer.toString(minute) + "분" + Integer.toString(second) + "초");
		System.out.println("제품만료일 \t:" + Integer.toString(year2) + "-"
				+ Integer.toString(month2) + "-" + Integer.toString(day2));	
		
	}

	private static void countBread() {
		int cnt = 0;
		String str;
		Iterator it;

		for(int i=0; i al = new ArrayList();
		
		System.out.println("2.빵의 종류를 입력하세요!");
		sc = new Scanner(System.in);
		st = new StringTokenizer(sc.nextLine());
		
		// ArrayList에 담기
		while(st.hasMoreTokens()) {
			al.add(st.nextToken());
		}
		
		// 중복제거
		for(int i=0; i 1) { 
					throw new Exception();
				}else {
					sum = Integer.parseInt(st.nextToken());
					break Label;
				}
			} catch (Exception e) {
				System.out.println("입력값이 잘못되었습니다. 재입력바랍니다");
				sc = new Scanner(System.in);
			} 
		}

	}
}

 StringTokenizer를 사용하여 String을 token 단위로 받아들일 수 있게 만든다.


댓글