MainClass.java
public class MainClass {
public static void main(String[] args) {
basicFunc start = new basicFunc();
start.play();
}
}
BasicFunc.java
import java.util.Scanner;
class BasicFunc {
void play() {
String name;
String accountNo;
int limit;
System.out.println("사용자메뉴");
Scanner in = new Scanner(System.in);
loop: while (true) {
System.out.println("1. 일반 통장 개설");
System.out.println("2. 마이너스 통장 개설");
System.out.println("3. 종료");
System.out.print("->");
int chk = in.nextInt();
// try {
in.nextLine();
switch (chk) {
case 1:
System.out.println("일반 통장 개설");
System.out.print("이름 : ");
name = in.nextLine();
System.out.print("계좌번호 : ");
accountNo = in.nextLine();
System.out.println(name + ", " + accountNo);
try{
Account person = new Account(name, accountNo);
person.play();
}catch(Exception e) {
System.out.println(e.getMessage());
}
break;
case 2:
System.out.println("마이너스 일반 통장 개설");
System.out.print("이름 : ");
name = in.nextLine();
System.out.print("계좌번호 : ");
accountNo = in.nextLine();
System.out.print("한도 : ");
limit = in.nextInt();
// Account personM = new AccountM(name, accountNo, limit);
// personM.play();
break;
case 3:
break loop;
default:
System.out.println("다시 입력해주세요.");
}
// } catch (Exception e) {
// System.out.println(e.getMessage());
// }
}
System.out.println("system quit..");
}
}
Account.java
import java.util.Scanner;
public class Account {
String name; // 예금주 이름
String accountNo; // 계좌번호
int balance; // 잔고
// 생성자
Account() {
}
Account(String name, String accountNo) throws Exception {
if(name.equals("\n") || accountNo.equals(null)) {
System.out.println("값 없음");
throw new Exception("값을 모두 입력하세요.");
}
this.name = name;
this.accountNo = accountNo;
}
// ----------------------
// 생성자 끝
void play() {
Scanner in = new Scanner(System.in);
// System.out.print("이름 : ");
// this.name = in.nextLine();
// System.out.print("계좌번호 : ");
// this.accountNo = in.nextLine();
int temp;
int chk = 1;
loop: while (chk != 0) {
try {
System.out.println("1. 입금, 2. 출금, 3. 정보, 0. 종료");
System.out.print("->");
int num = in.nextInt();
switch (num) {
case 1:
System.out.print("입금얼마?");
temp = in.nextInt();
inputMoney(temp);
break;
case 2:
System.out.print("출금얼마?");
temp = in.nextInt();
outputMoney(temp);
break;
case 3:
infoPrint();
break;
case 0:
break loop;
default:
System.out.println("다시입력하시오");
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
void infoPrint() {
System.out.println("이름 : " + name);
System.out.println("게좌 : " + accountNo);
System.out.println("잔액 : " + balance);
}
void inputMoney(int amount) {
this.balance += amount;
System.out.println(amount + "원을 입금하고, 잔액은 " + balance + "원입니다.");
}
void outputMoney(int amount) throws Exception {
if (balance < amount) {
throw new Exception("잔액이 부족합니다.");
} else {
balance -= amount;
System.out.println(amount + "원을 인출하고, 잔액은 " + balance + "원입니다.");
}
}
void calculateInterest() {
}
}
AccountM.java
import java.util.Scanner;
public class AccountM extends Account {
int limit = 0; // 마이너스 한도
// 생성자
AccountM() {
// 기본 한도 500만원.
this.limit = 500;
}
AccountM(String name, String accountNo, int limit) throws Exception {
super(name, accountNo);
this.limit = limit;
}
// ----------------------
// 생성자 끝
void play() {
Scanner in = new Scanner(System.in);
System.out.print("이름 : ");
this.name = in.nextLine();
System.out.print("계좌번호 : ");
this.accountNo = in.nextLine();
System.out.print("한도 : ");
this.limit = in.nextInt();
int temp;
int chk = 1;
loop: while (chk != 0) {
try {
System.out.println("1. 입금, 2. 출금, 3. 정보, 0. 종료");
System.out.print("->");
int num = in.nextInt();
switch (num) {
case 1:
System.out.print("얼마?");
temp = in.nextInt();
inputMoney(temp);
break;
case 2:
System.out.print("얼마?");
temp = in.nextInt();
outputMoney(temp);
break;
case 3:
infoPrint();
break;
case 0:
break loop;
default:
System.out.println("다시입력하시오");
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
// 오버라이딩
void infoPrint() {
System.out.println("이름1 : " + name);
System.out.println("게좌 : " + accountNo);
System.out.println("한도금액 : " + limit);
System.out.println("잔고 : " + balance);
System.out.println("인출가능잔액 : " + (balance + limit));
}
void inputMoney(int amount) {
this.balance += amount;
System.out.println(amount + "원을 입금하고, 잔액은 " + (balance + limit)
+ "원입니다.");
}
// 오버라이딩
void outputMoney(int amount) throws Exception {
if ((balance + limit) < amount) {
throw new Exception("잔액이 부족합니다.");
} else {
balance -= amount;
System.out.println(amount + "원을 인출하고, 인출가능잔액은 " + (balance + limit)
+ "원입니다.");
}
}
}
'대학 생활 > JAVA' 카테고리의 다른 글
| [JAVA] ArrayList, LinkedList, Stack, Queue (0) | 2014.01.09 |
|---|---|
| [JAVA] 계산기 (0) | 2014.01.05 |
| [JAVA] * 별 출력하기_10 다이아몬드 (0) | 2013.11.15 |
| [JAVA] * 별 출력하기_09 마름모 (0) | 2013.11.14 |