반응형
문제
키보드로부터 계좌 정보를 입력 받아서 계좌를 관리하는 프로그램을 만들어보기.
BankApplication 클래스의 메소드를 작성할 것.
출력 예시
1. 계좌생성
2. 계좌목록 보기
3. 예금하기
4. 출금하기
코드 작성
Account.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
public class Account {
private String ano;
private String owner;
private int balance;
public Account (String ano, String owner, int balance) {
this.ano = ano;
this.owner = owner;
this.balance = balance;
}
public String getAno() {return ano;}
public void setAno(String ano) {this.ano = ano;}
public String getOwner() {return owner;}
public void setOwner(String owner) {this.owner = owner;}
public int getBalance() {return balance;}
public void setBalance(int balance) {this.balance = balance;}
}
|
cs |
BankApplication.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
import java.util.Scanner;
public class BankApplication {
private static Account[] accountArray = new Account[100];
private static Scanner scanner = new Scanner(System.in);
static int num = 0;
public static void main(String[] args) {
boolean run = true;
while (run) {
System.out.println("----------------------------------------");
System.out.println("1.계좌생성 | 2.계좌목록 | 3.예금 | 4.출금 | 5.종료 ");
System.out.println("----------------------------------------");
System.out.print("선택 >> ");
int selectNo = scanner.nextInt();
if (selectNo == 1) {
createAccount();
} else if (selectNo == 2) {
accountList();
} else if (selectNo == 3) {
deposit();
} else if (selectNo == 4) {
withdraw();
} else if (selectNo == 5) {
System.exit(0);
} else {
System.out.println("잘못된 값을 입력 하였습니다.");
}
}
}
//계좌 생성 하기
private static void createAccount() {
String ano = null;
String owner = null;
int balance = 0;
accountArray[num] = new Account(ano, owner, balance);
System.out.println("------");
System.out.println("계좌 생성");
System.out.println("------");
System.out.print("계좌번호 : ");
ano = scanner.next();
accountArray[num].setAno(ano);
System.out.print("계좌주 : ");
owner = scanner.next();
accountArray[num].setOwner(owner);
System.out.print("초기입금액 : ");
balance = scanner.nextInt();
accountArray[num].setBalance(balance);
System.out.println("결과 : 계좌가 생성되었습니다.");
num++;
}
// 계좌 목록 보기
private static void accountList() {
for (int i = 0 ; i < num; i++ ) {
System.out.println(accountArray[i].getAno()+"\t"+accountArray[i].getOwner()+"\t"+accountArray[i].getBalance());
}
}
// 예금하기
private static void deposit() {
System.out.println("------");
System.out.println("예금");
System.out.println("------");
System.out.print("계좌번호 : ");
String ano = scanner.next();
System.out.print("예금액 : ");
findAccount(ano).setBalance(findAccount(ano).getBalance() + scanner.nextInt());
System.out.println("결과 : 예금이 성공되었습니다.");
}
// 출금하기
private static void withdraw() {
System.out.println("------");
System.out.println("출금");
System.out.println("------");
System.out.println("계좌번호 : ");
String ano = scanner.next();
System.out.print("출금액 : ");
int remain = findAccount(ano).getBalance() - scanner.nextInt();
if (remain < 0) {
System.out.println("결과 : 출금 가능액을 초과하였습니다.");
} else {
findAccount(ano).setBalance(remain);
System.out.println("결과 : 출금이 성공되었습니다.");
}
}
// Account 배열에서 ano와 동일한 Account 객체 찾기
private static Account findAccount(String ano) {
for (int i = 0 ; i < num; i++) {
if (accountArray[i].getAno().equals(ano)) {
return accountArray[i];
}
}
System.out.println("해당 계좌번호를 찾을 수 없습니다.");
return null;
}
}
|
cs |
반응형
'IT > 연습문제' 카테고리의 다른 글
자바 연습문제 : 인터페이스와 구현 클래스 작성 (0) | 2020.09.09 |
---|---|
자바 연습문제 : Up&Down 게임 (0) | 2020.09.08 |
클래스 연습문제 풀어보기(은행계좌) (0) | 2020.09.07 |
공백 유무에 상관없이 특정 단어 앞글자만 대문자로 바꾸기 (0) | 2020.08.24 |
BufferedReader와 BufferedWriter를 이용한 별찍기 문제 (0) | 2020.08.24 |