package ch10_quiz;
public class BankBook {
/*
* 하나의 은행 상품을 관리하는 BankBook class 를 정의하고, BankBookManager class 에서 테스트 하세요
* - 이율 : 한번의 설정으로 모든 계좌의 이율 변경 가능
* 계좌번호 : 한번 설정 후 변경 불가
* 고객명, 잔액
* - 기능
* > 입/출금, 통장 정보 확인, 이율 확인/변경 가능
*/
private static double rate;
private final String account;
private String name;
private int balance;
static { rate = 2; }
public BankBook(String account, String name) {
this(account,name,0);
}
public BankBook(String account, String name, int balance) {
this.account = account;
this.name = name;
this.balance = balance;
}
//입금
public void deposit(int money) {
if(money > 0) {
this.balance +=money;
System.out.println("입금액 : " + money + "원");
System.out.println("잔액 : " + balance + "");
} else {
System.out.println("입금액 오류.");
}
}
//출금
public void withdraw(int money) {
if(money > 0 && money <= this.balance) {
this.balance -= money;
System.out.println("출금액 : " + money + "원");
System.out.println("잔액 : " + balance + "원");
} else {
System.out.println("출금액 오류.");
}
}
//계좌정보
public void info() {
System.out.println("--- 계 좌 정 보 ---");
System.out.println("계좌번호 : " + account);
System.out.println("고객명 : " + name);
System.out.println("잔액 : " + balance + "원");
System.out.println("현재이율 : " + rate + "%");
}
//이율확인
public static void currentRate() {
System.out.println("현재 이율 : " + rate + "%");
}
//이율변경
public static void chageRate(double change) {
if(change > 0) {
rate = change;
System.out.println("변경 이율 : " + rate + "%");
}
}
}
----------------------------------------------------------------------------------
//BankBookManager
package ch10_quiz;
public class BankBookManager {
public static void main(String[] args) {
BankBook bk1 = new BankBook("00123-132-322", "홍길동");
bk1.deposit(20000);
bk1.deposit(-20000);
bk1.info();
System.out.println();
BankBook bk2 = new BankBook("00123-132-322","홍길동", 10000);
bk2.info();
bk1.withdraw(10000);
bk1.withdraw(9999);
System.out.println();
bk1.chageRate(2.3);
bk1.info();
bk2.info();
}
}
package ch10_quiz;
public class Product {
/*
* 하나의 제품 정보를 가지는 Product class 를 정의하고, ProductManager class 에서 테스트 하세요
* - 제품 종류, 제품명, 가격, 관리번호, 전체 등록 제품수
* > 가격 : -(minus) 값 적용 불가
* 관리번호 : 변경 불가
* 전체 등록 제품수 : 제품이 하나 추가될 때 마다 증가
*/
private static int all_products;
private String type;
private String name;
final private String management_number;
private int price;
static { all_products = 320; }
public Product(String type, String name, String management_number , int price) {
this.type = type;
this.name = name;
this.management_number = management_number;
if (price >= 0) {
this.price = price;
} else {
System.out.println("가격은 양수값(+)만 가능합니다.");
}
all_products++;
}
public String getType() { return type; }
public void setType(String type) {
this.type = type;
}
public String getName() { return name; }
public void setName(String name) {
this.name = name;
}
public int getPrice() { return price; }
public void setPrice(int price) {
if(price >= 0) {
this.price = price;
}
}
void info() {
System.out.println("--------- 물품 장부 ---------");
System.out.println("제품명 : " + name);
System.out.println("제품종류 : " + type);
System.out.println("제품가격 : " + price + "원");
System.out.println("관리번호 : " + management_number);
System.out.println("-----------------------------");
}
public static void currentAll() {
System.out.println("전체 등록 제품 수 : " + all_products);
}
}
----------------------------------------------------------------------------------
//ProductManager
package ch10_quiz;
public class ProductManager {
public static void main(String[] args) {
Product pd = new Product("시계","태그호이어", "132-1112", 1500000);
pd.info();
Product pd2 = new Product("지갑", "폴로", "123-4244", 100000);
pd2.info();
Product.currentAll();
}
}