학원에서 쓰는 책
이것이 자바다
//챕터6 클래스 : 확인문제 20번을 풀어보았다
먼저 DTO(VO)
package Exclass;
public class Account {
private String name;
private String number;
private int balance;
public Account() {
super();
}
public Account(String name, String number, int balance) {
super();
this.name = name;
this.number = number;
this.balance = balance;
}
public Account(int balance) {
super();
this.balance += balance;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public int getBalance() {
return balance;
}
public void setBalance(int balance) {
this.balance = balance;
}
@Override
public String toString() {
return "[이름 : " + name + ", 계좌번호 : " + number + ", 예금액 : " + balance + "]";
}
}
Service
import java.util.Scanner;
public class Member {
Scanner sc;
private String id;
private String password;
private int age;
private int index;
static final int MIN_VALUE = 0;
static final int MAX_VALUE = 1000000;
private int balance;
private String name;
private String number;
private static Account[] a = new Account[100];
Member() {
}
Member(String name,String id) {
this.name = name;
this.id = id;
}
public void hello(Scanner sc) {
boolean flag = true;
int key = 0;
while(flag) {
System.out.println("==========================================");
System.out.println("1.계좌생성 2.계좌목록 3.예금 4.출금 5.종료");
System.out.println("==========================================");
switch(key=sc.nextInt()) {
case 1: //계좌 생성
go1(sc);
break;
case 2: //계좌 목록
go2(sc);
break;
case 3: //예금
go3(sc);
break;
case 4: //출금
go4(sc);
break;
case 5: //종료
System.out.println("종료합니다");
flag=false;
break;
}
}
}
public void go1(Scanner sc) { //계좌생성
System.out.println("계좌 번호");
number = sc.next();
System.out.println("계좌주");
name = sc.next();
System.out.println("초기 입금액");
balance = sc.nextInt();
System.out.println("계좌 생성됨");
a[index] = new Account(name,number,balance);
index++;
}
public void go2(Scanner sc) { //계좌목록
System.out.println("계좌 목록");
for(int i=0;i<index;i++) {
System.out.println(a[i]);
}
}
public void go3(Scanner sc) { //예금
int balance = 0;
System.out.println("예금");
System.out.println("계좌번호");
number = sc.next();
System.out.println("예금액");
balance = sc.nextInt();
for(int i=0;i<index;i++) {
if(number.equals(a[i].getNumber())) {
int b = a[i].getBalance()+balance;
a[i].setBalance(b);
}
}
}
public void go4(Scanner sc) {
int balance = 0;
System.out.println("예금");
System.out.println("계좌번호");
number = sc.next();
System.out.println("출금액");
balance = sc.nextInt();
for(int i=0;i<index;i++) {
if(number.equals(a[i].getNumber())) {
int b = a[i].getBalance()-balance;
a[i].setBalance(b);
}
}
}
public void setBalance(int balance) {
if(MIN_VALUE<=balance && balance<=MAX_VALUE) {
this.balance = balance;
}
}
}
메인
Member m = new Member();
Scanner sc = new Scanner(System.in);
m.hello(sc); //문제 20번
다른 문제까지 같은 클래스에 풀어서
메인은 너무 더러워서 생략 ㅠㅠ
결과
객체 배열을 이용해야 하는 것이 좀 난해했는데
풀다보니 쇽쇽 지나갔다ㅎㅎ
문제 푸는 거 재미있다!
728x90
'문제를 풀어보자' 카테고리의 다른 글
JAVA) 자바의 정석 기초편 11-3 연습 문제(Comparable 정렬) (1) | 2022.10.13 |
---|---|
JAVA) 자바의 정석 기초편 7-5 연습문제 풀이 (0) | 2022.10.09 |
JAVA) 자바의 정석 기초편 7-2 연습문제 풀이 (1) | 2022.10.09 |
JAVA) 자바의 정석 기초편 7-1 연습문제 풀이 (0) | 2022.10.09 |
JAVA) 이것이 자바다 챕터2~11 확인문제 7번~9번 (0) | 2022.10.07 |