* 같은 문제를 강사님이 짠 코드이다.
package classes;
public class Menu {
// 멤버변수
String name; // 품명
int unitPrice; // 단가
int count; // 수량
public Menu() { } // 기본 생성자
public Menu(String name, int unitPrice, int count) {
this.name = name;
this.unitPrice = unitPrice;
this.count = count;
} // 인자 생성자
}
package classes;
import java.util.Scanner;
public class Exam06_Menu {
public static final double TAX_RATE = 1.1; // 상수
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("메뉴는 몇개인가요? : ");
Menu[] menus = new Menu[sc.nextInt()];
// 메뉴와 단가, 수량을 키보드로 입력받아서 객체 배열에 저장을 해 주자.
for(int i=0; i<menus.length; i++) {
System.out.println
((i+1)+"번째 메뉴의 품명, 단가, 수량을 입력하세요...");
menus[i] = new Menu
(sc.next(), sc.nextInt(), sc.nextInt());
}
System.out.println();
int totalPrice = 0; // 총금액 변수
System.out.println("---------------------------------");
System.out.println("품명\t단가\t수량\t금액");
System.out.println("---------------------------------");
for(int i=0; i<menus.length; i++) {
System.out.printf("%s\t%,6d\t%3d\t%,6d원\n",
menus[i].name, menus[i].unitPrice,
menus[i].count, (menus[i].unitPrice * menus[i].count));
totalPrice += (menus[i].unitPrice * menus[i].count);
}
// 공급가액을 구하자 = 총금액 / 1.1
int supplyPrice = (int)(totalPrice / Exam06_Menu.TAX_RATE);
// 부가세액을 구하자 = 총금액 - 공급가액
int vat = totalPrice -supplyPrice;
System.out.println("---------------------------------");
System.out.printf("공급가액\t\t\t%,6d원\n", supplyPrice);
System.out.printf("부가세액\t\t\t%,6d원\n", vat);
System.out.println("---------------------------------");
System.out.printf("청구금액\t\t\t%,6d원\n", totalPrice);
sc.close();
}
}
'Back > JAVA' 카테고리의 다른 글
메서드 재정의(method overriding) (0) | 2021.03.10 |
---|---|
상속(inheritance) (0) | 2021.03.10 |
[문제] 영수증 출력 프로그램(version 1) (0) | 2021.03.09 |
[문제] Class 메서드를 이용한 급여 계산 프로그램 (0) | 2021.03.09 |
캡슐화(Encapsulation) (0) | 2021.03.09 |