본문 바로가기
문제 풀이/Java

[Java] 클래스 응용문제_영수증 출력하기

by 찐코딩 2021. 8. 29.

package Exam;

import java.util.Scanner;

class Bill {
	String name;  //품명
	int price;   //단가
	int quantify;  //수량
	
	public Bill() {}	// 기본 생성자
	
	
	public Bill(String n, int p, int q) {	// 인자 생성자
		name = n;
		price = p;
		quantify = q;
	}  
	
}

public class Ex05_BIll {
	
	// 추후 배울 개념, final가 붙으면 값을 변경할 수 없음
	// 부가가치세율은 클래스멤버로 선언해야 한다고 단서조항 있음.
	public static final double TAX_RATE = 1.1; 

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.print("메뉴는 몇개인가요? : ");
		Bill[] menu=new Bill[sc.nextInt()];
		
		//메뉴와 단가, 수량을 키보드로 입력 받기
		for(int i=0; i<menu.length; i++) {
			System.out.println
			((i+1)+"번째 메뉴의 품명, 단가, 수량을 입력해주세요");
			menu[i] = new Bill
					(sc.next(), sc.nextInt(), sc.nextInt());
		}
		System.out.println();  //빈 줄 삽입
		
		int totalPrice=0;  //총금액 변수
		System.out.print("품명\t단가\t수량\t금액\n");
		System.out.println("---------------------------------");
		
		for(int i=0; i<menu.length; i++) {
			//일단 출력하고,
			System.out.printf("%s\t%,d\t%d\t%,d원\n",
					menu[i].name,
					menu[i].price,
					menu[i].quantify,
					((menu[i].price)*(menu[i].quantify)));  // 차례로 품목, 단가, 수량, 금액 출력
			
			//총 금액을 계산한다.
			totalPrice+=((menu[i].price)*(menu[i].quantify));
		}
		System.out.println("---------------------------------");
		
		// 공급가액=총금액/1.1
		int supplyPrice = (int)(totalPrice / Ex05_BIll.TAX_RATE);
		
		// 부가세액을 구하자 = 총금액 - 공급가액
		int vat = totalPrice -supplyPrice;
				
		System.out.println("---------------------------------");
		System.out.printf("공급가액\t\t\t%,d원\n", supplyPrice);
		System.out.printf("부가세액\t\t\t%,d원\n", vat);
		System.out.println("---------------------------------");
		System.out.printf("청구금액\t\t\t%,d원\n", totalPrice);
				
		sc.close();
		
		}
	}

결과창

댓글