코딩

java, swing 장바구니 영수증 만들기 소스

poptaek 2020. 12. 28. 15:09
728x90
반응형

이번에는 자신이 구입을 한 목록을 테이블로 작성해서 영수증을 만들어 보는 연습 소스코드입니다.

 

               상품명    수량            단가            금액
-------------------------------------------
  1   초코랫     3    1000    3000
  2   케이크     1   15000   15000
  3   삼페인     1   23000   23000
  4   꽃다발     1  500000  500000
--------------------------------------------
             총계 =              541000

 

메인소스 코드

 

public class nestedclassexample
{
 public static void main(String args[])
 {
 
  Cart cart = new Cart();
  cart.addItem("초코랫",3, 1000);
  cart.addItem("케이크",1, 15000);
  cart.addItem("삼페인",1, 23000);
  Cart.Item item = cart.new Item("꽃다발",1,500000); //이것을기본으로 만든 테이블에 추가를 하는 소스코드입니다.
  cart.list.add(item);
  printCart(cart);
  
 }
 static void printCart(Cart cart)
 {
  int num = cart.getItemNum();
  System.out.println("               상품명    수량            단가            금액");
  System.out.println("-------------------------------------------");
  for(int cnt=0; cnt < num;cnt++)
  {
   Cart.Item item = cart.getItem(cnt);
  System.out.printf("%3d %5s %5d %7d %7d %n",cnt+1, item.name, item.num, item.unitPrice, item.getPrice());
  }
  System.out.println("--------------------------------------------");
  System.out.printf("             총계 =          %10d %n",cart.getTotalPrice());
 }

}

 

클래스 소스코드

import java.util.ArrayList;

class Cart
{
 
 ArrayList<Item>list = new ArrayList<Item>();
 void addItem(String name, int num, int unitPrice)
 {
  list.add(new Item(name, num, unitPrice));
 }
 void removeItem(int index)
 {
  list.remove(index);
 
 }
 int getItemNum()
 {
  return list.size();
 }
 Item getItem(int index)
 {
  return list.get(index);
 }
 int getTotalPrice()
 {
  int total = 0;
  for(Item item : list)
   total += item.getPrice();
  return total;
 }
 void chnageItemNumber(int index, int num)
 {
  Item item = list.get(index);
  item.num = num;
 }
 class Item
 {
  String name;
  int num;
  int unitPrice;
  Item(String name, int num, int unitPrice)
  {
   this.name= name;
   this.num= num;
   this.unitPrice=unitPrice;
  }
  int getPrice()
  {
   return num * unitPrice;
  }
 }
}