728x90
문제사진
import java.util.Scanner;
public class BankApplication {
private static Account[] accountArray = new Account[100];
private static Scanner scanner = new Scanner(System.in);
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) {
run = false;
}
}
System.out.println("프로그램 종료");
}
//계좌생성하기
private static void createAccount() {
System.out.print("계좌번호 :");
String ano = scanner.next();
System.out.print("계좌주 :");
String owner = scanner.next();
System.out.print("초기입금금액 :");
int balance = scanner.nextInt();
Account acc = new Account(ano,owner,balance);
for(int i = 0;i<accountArray.length;i++) {
if(accountArray[i] == null) {
accountArray[i] = acc;
System.out.println("결과: 계좌가 생성되었습니다.");
break;
}
}}
//계좌목록보기
private static void accountList() {
for(int i = 0;i < accountArray.length;i++) {
if(accountArray[i]==null) {
return;
}
System.out.println(accountArray[i].getAno() + " " + accountArray[i].getOwner() + " " +accountArray[i].getBalance());
}
}
//에금하기
private static void deposit() {
System.out.print("계좌번호: ");
String ano = scanner.next();
System.out.print("예금액: ");
int balance = scanner.nextInt();
Account acc = findAccount(ano);
if(acc == null) {
System.out.println("계좌정보 찾을 수 없음");
}else {
System.out.println();
acc.setBalance(acc.getBalance()+balance);
}
}
//출금하기
private static void withdraw() {
System.out.print("계좌번호: ");
String ano = scanner.next();
System.out.print("출금액: ");
int balance = scanner.nextInt();
Account acc = findAccount(ano);
if(acc == null) {
System.out.println("계좌정보 찾을 수 없음");
}else if(balance > acc.getBalance()) {
System.out.println("예금보다 더 큰 금액은 출금불가");
}
else {
System.out.println();
acc.setBalance(acc.getBalance()-balance);
}
}
//Account 배열에서 ano와 동일한 Account 객체 찾기
private static Account findAccount(String ano) {
for(int i = 0;i < accountArray.length;i++) {
if(accountArray[i].getAno().equals(ano)) {
return accountArray[i];
}
}
return null;
}
}
앞 문제들은 완전 쉬웠는데
마지막 문제 갑자기 난이도 무엇..?
지금 시간이 없어서 촉박해가지고 충분히 생각도 못하고
인터넷에 올라온 다른 사람 꺼에서 보고 힌트를 얻어서 풀었다 젠장...
다 하고 나니 뿌듯하긴 한데... 완전히 내가 한건 아니라서 찝찝하다.
내일 다시 혼자 처음부터 풀어봐야겠다.
확실히 책에 있는 문제들을 풀어보니까 배운 것들 하나하나 아 이럴 때 쓰는 거구나 조금이나마 알 수 있어서 좋은 거 같다.
짜증 나는 건 이것이 자바다 문제 파일들이 뭘 해도 한국어로 인코딩이 안됨..^^ 그거 때문에 49분 날렸다. ㅡㅡ 시간도 없어 죽겠고만. 결국 한국어 깨진 곳은 알아서 타이핑해서 씀. 에효 어쩔 수 없지
화이팅!~!!
728x90
'study > JAVA' 카테고리의 다른 글
JAVA Casting (0) | 2022.04.05 |
---|---|
자바 상속 inheritance 기초 (0) | 2022.04.04 |
자바 생성자(constructor)와 오버로딩 (0) | 2022.04.01 |
자바 JAVA 클래스가 메모리에 저장되는 방식 (0) | 2022.04.01 |
자바 Java 값복사와 주소복사란? (0) | 2022.03.31 |
댓글