JAVA 6강_3_Class 배열(객체배열)

열라뽕따히·2024년 2월 6일

JAVA

목록 보기
37/79

[문제]
음료 자판기를 만들어보자!
음료 (6개) : 콜라, 사이다, 옥수수수염차, 17차, 몬스터, 포카리스웨트




=============================코드=============================

public class Drink {
	
	// 멤버변수
	String name;            // 음료 이름
	int price;              // 음료 가격
	
	public Drink() { } // 기본 생성자
	
	public Drink(String name, int price) {
		this.name = name;
		this.price = price;
		
	}  // 인자 생성자
	
}

Drink_08 클래스 생성



=============================코드=============================

public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("자판기 음료 갯수를 입력하세요 : ");
		
	// 객체 배열 선언 및 객체 배열 메모리 할당
		Drink[] drinks = new Drink[sc.nextInt()];      // Drink[] ==> 클래스배열 (객체가 여러개 연속적으로 있는 형태)
		
		for(int i = 0; i < drinks.length; i++) {
			
		    System.out.println("음료의 이름과 가격을 입력하세요...");
			System.out.println("==========================");
			drinks[i] = new Drink(sc.next(), sc.nextInt());
		}
		
		System.out.println();
		
		System.out.print("돈을 넣어 주세요 : ");
		
		int coin = sc.nextInt();
		
	/*
	 * 입력을 받은 coin(돈)과 객체 배열에 저장된 Drink
	 * 클래스의 멤버변수인 price(음료가격)를 비교해서
     * 가격이 작거나 같은 음료를 선택 ==> 반복해서 선택
	 */
		
		for(int i = 0; i < drinks.length; i++) {
			
			if(coin >= drinks[i].price) {      // drinks[i]에는 0~5개의 주소값이 있음
				
				System.out.print(drinks[i].name + "\t");
			}
		}
		sc.close();
		
		//drinks[0] = new Drink("콜라", 2500);    // Drink라는 객체가 생성이 되고 그 안에 name:콜라, price:2500 값이 들어가게 됨
		//drinks[1] = new Drink("사이다", 2500);
		//drinks[2] = new Drink("옥수수수염차", 2000);
		//drinks[3] = new Drink("17차", 1800);
		//drinks[4] = new Drink("몬스터", 2300);
		//drinks[5] = new Drink("포카리스웨트", 2300);
		
      // 객체 배열의 코드를 풀어서 본다면 아래와 같음
        //Drink drink1 = new Drink("콜라", 2500);
        //Drink drink2 = new Drink("사이다", 2500);
        //Drink drink3 = new Drink("옥수수수염차", 2000);
        //Drink drink4 = new Drink("17차", 1800);
        //Drink drink5 = new Drink("몬스터", 2300);
        //Drink drink6 = new Drink("포카리스웨트", 2300);

        //drinks[0] = drink1; drinks[1] = drink2;
        //drinks[2] = drink3; drinks[3] = drink4;
        //drinks[4] = drink5; drinks[5] = drink6;

	}


=============================실행=============================




객체 배열 추가설명


출처 : https://kadosholy.tistory.com/90

**어려웠던 점
-정수형 배열에서 한 단계 더 생각해야 하는 부분이 어렵게 느껴짐.. 정수형 배열을 완벽히 숙지하는 것이 좋을 것 같음

0개의 댓글