JAVA

[Java] 문제와 풀이2

songsua 2024. 10. 20. 01:25
  • 문제 설명**
    앞서 만들었던 다음 클래스에 있는 "상품 주문 시스템"을 리팩토링 하자.
    class1.ex.ProductOrderMain`
    당신은 온라인 상점의 주문 관리 시스템을 만들려고 한다.
    먼저, 상품 주문 정보를 담을 수 있는 `ProductOrder` 클래스를 만들어보자.

  • 요구 사항**
    ProductOrder` 클래스는 다음과 같은 멤버 변수를 포함해야 한다.
    상품명 ( `productName` ) 가격 ( `price` )주문 수량 ( `quantity` )
  • 다음으로 `ref.ex.ProductOrderMain2` 클래스 안에 `main()` 메서드를 포함하여, 여러 상품의 주문 정보를 배열 로 관리하고, 그 정보들을 출력하고, 최종 결제 금액을 계산하여 출력하자.
  • 이 클래스에서는 다음과 같은 메서드를 포함 해야 합니다:
    static ProductOrder createOrder(String productName, int price, int quantity)` `ProductOrder` 를 생성하고 매개변수로 초기값을 설정합니다. 마지막으로 생성한 `ProductOrder` 를 반환합니다.
    static void printOrders(ProductOrder[] orders)` 배열을 받아서 배열에 들어있는 전체 `ProductOrder` 의 상품명, 가격, 수량을 출력합니다. `
package ref;

public class problem01 {
    public static void main(String[] args) {
        //배열생성 3개 생성
        problem01Class[] orders = new problem01Class[3];

        //아래 만든 메서드를 사용 해서 배열에 넣어 줘야한다
       // problem01Class problem01 = createOrder("휴지", 2000 , 2); 이는 배열에 넣지 않은 것
       orders[0] = createOrder("휴지", 2000 , 2);
       orders[1] = createOrder("두부", 1000 , 4);
       orders[2] = createOrder("치즈", 7000 , 2);

       //출력메서드 호출
        printOrder(orders);

    }

    static problem01Class createOrder(String productName, int price, int quantity) {
        problem01Class product = new problem01Class();
        product.productName = productName;
        product.price = price;
        product.quantity = quantity;
        return product;
        //반환은 꼭 해줘야 한다.
    }
    //배열에 대한 호출이기 때문에 [] 을 넣어 줘야한다. 그리고 배열의 이름을 넣어준다.
    static void printOrder(problem01Class[] orders) {
        //그리고 for 구문을 넣어서 반복을 실행해주낟.
        for (problem01Class product : orders) {
            System.out.println(product.productName + " " + product.price + " " + product.quantity ); }
    }
}
댓글수2