JAVA

JAVA 실습1 : Depart 2

테라시아 2024. 11. 14. 20:08

☆ Code

import java.util.Random;

import util.MyUtil;

public class DepartEx {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Department[] d = new Department[5];  // 백화점 5곳
		
		d[0] = new Department("강남점");
		d[1] = new Department("본점");
		d[2] = new Department("USA점");
		d[3] = new Department("일본점");
		d[4] = new Department("속리산점");
		
		d[0].setOpenInd(true);
		Department.setPranOpenInd(true);
		
		Random rd = new Random();
		for(int i=0; i<d.length; i++) {
			if(rd.nextInt(2) == 1)
				d[i].setOpenInd(true);
			else
				d[i].setOpenInd(false);
		}
		
		MyUtil.p("지점 오픈 상태 체크 결과");
        
		for(int i=0; i<d.length; i++) {
			MyUtil.p("[" + d[i].name + "] " + (d[i].getOpenStatus()? "열었어":"닫았어"));
		}
		
		// 1억 이하의 임의의 금액을 얻은 후 1000단위 이하를 절사하여 amt에 추가
        
		for(int i=0; i<10; i++) {
			for(int j=0; j<d.length; j++) {
				int todayAmt = rd.nextInt(100000001) / 1000 * 1000;
				d[j].addAmt(todayAmt);
			}
		}
		
		for(Department dd : d) {
			MyUtil.p(dd.name + " : " + dd.getAmt());
		}
		
		// 가장 매출이 높은 지점
		String topName = null;
		int topAmt = 0;
		
		for(Department dd : d) {
			if(dd.getAmt() > topAmt) {
				topName = dd.name;
				topAmt = dd.getAmt();
			}
		}
		
		MyUtil.cp("최대 매출 지점");
		MyUtil.p(MyUtil.RED + MyUtil.BOLD + topName + " : " + topAmt + MyUtil.END);
	}

}

class Department {

	// Step1. 필드 정의 
	String name;
	static final String pranName = "내백화점";  // 모든 지점 공통
	private int amt = 0;
	private boolean openInd;
	private static boolean pranOpenInd;
	
	// Step2. Constructor
	// 지점 이름을 지정하면 지점 이름 세팅, 안하면 "미정" 세팅
    
	Department(){
		this("미정");
	}
	
	Department(String name){
		this.name = name;
	}
	
	// Step3. getOpenStatus 구현
    
	public boolean getOpenStatus() {
		return openInd && pranOpenInd;
	}
	
	// Step4. Getter/Setter
    
	public void setOpenInd(boolean status) {
		openInd = status;
	}
	
	public static void setPranOpenInd(boolean status) {
		pranOpenInd = status;
	}
	
	public int getAmt() {
		return amt;
	}
	
	// Step5. User Function
	// 매출액을 더하는 메서드
    
	public void addAmt(int amt) {
		this.amt += amt;
	}
}

'JAVA' 카테고리의 다른 글

JAVA 상속2  (0) 2024.11.14
JAVA 상속1  (2) 2024.11.14
JAVA 실습1 : Depart 1  (0) 2024.11.13
JAVA 권한  (2) 2024.11.12
JAVA 메서드와 this  (0) 2024.11.12