본문 바로가기

프로그래밍 언어/Java

Java programming 자바 프로그래밍 실습 : Invoice Calculation

Java programming 자바 프로그래밍 실습 : Invoice Calculation


2021-1 성균관대학교 소프트웨어학과 타메르 교수님의 자바 프로그래밍 실습 수업을 들으면서 수행한 예제입니다

 

문제 

String productName, int quantity, double price를 인스턴스 변수로 갖는 Invoice 클래스를 만들어라.

그리고 Invoice 클래스는 invoice의 총 amount를 반환하는 getInvoiceAmount 메소드를 갖는다.

클래스는 constructor로 인스턴스 변수를 초기화한다. 

각 인스턴스 변수들은 각각의 getter, setter 메소드를 갖는다. 

그리고 InvoiceTest 클래스를 만들어 사용자 입력을 받아 name, quantity, price를 set하고 총 invoice amount를 출력하라.

  • Invoice.java
public class Invoice {
	
	String name;
	int quantity;
	double price;
	
	// constructor using setter method
	public Invoice(String Name, int Quantity, double Price) {
		setName(Name);
		setQuantity(Quantity);
		setPrice(Price);
	}

	// getter and setter methods for each fields
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getQuantity() {
		return quantity;
	}

	public void setQuantity(int quantity) {
		this.quantity = quantity;
	}

	public double getPrice() {
		return price;
	}

	public void setPrice(double price) {
		this.price = price;
	}
	
	// calculate total amount and return the value
	public double getInvoiceAmount() {
		return this.quantity*this.price;
	}

}
  • InvoiceTest.java
import java.util.Scanner;

public class InvoiceTest {
	
	public static void main(String[] args) {
		
		String Name;
		int Quantity;
		double Price;
		Invoice invoice1;
			
		// declare Scanner to get input from the user
		Scanner input = new Scanner(System.in);
		
		System.out.print("Product name: ");
		Name = input.next();
		System.out.print("Quantity: ");
		Quantity = input.nextInt();
		System.out.print("Price: ");
		Price = input.nextInt();
		
		input.close();
		
		// declare new instance of Invoice class
		// give arguments given by user then constructor initialize fields with arguments
		invoice1 = new Invoice(Name, Quantity, Price);
		
		// print getInvoiceAmount return value
		System.out.println("Total invoice amount: $" + invoice1.getInvoiceAmount());
		
	}

}
;