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 ); }
}
}