공부하시는대에 도움이 됐으면 좋겠습니다.
답안코드 확인해주세요!
입출력예시
*--------------- <Main Menu> ---------------*
1. 계좌개설
2. 입금
3. 출금
4. 계좌이체
5. 잔액조회
6. 프로그램 종료
*-------------------------------------------*
원하시는 메뉴 번호를 입력하세요
선택 : 1
*--------------- <계좌 개설> ---------------*
새로운 계좌 개설을 시작합니다
다음 ��서대로 입력해 주세요
계좌번호 : 23452
이름 : 김숙자
비밀번호 : 1234
입금액 : 100000000
계좌 개설 완료
*-------------------------------------------*
*--------------- <Main Menu> ---------------*
1. 계좌개설
2. 입금
3. 출금
4. 계좌이체
5. 잔액조회
6. 프로그램 종료
*-------------------------------------------*
원하시는 메뉴 번호를 입력하세요
선택 : 5
*--------------- <잔액 조회> ---------------*
계좌번호 : 23452
비밀번호 : 1234
이름 : 김숙자
잔액 : 100000000
*-------------------------------------------*
*--------------- <Main Menu> ---------------*
1. 계좌개설
2. 입금
3. 출금
4. 계좌이체
5. 잔액조회
6. 프로그램 종료
*-------------------------------------------*
원하시는 메뉴 번호를 입력하세��
선택 : 2
*--------------- <입 금> ---------------*
계좌번호 : 23456
입력하신 계좌번호가 존재하지 않습니다!
<Main Menu> 로 돌아갑니다.
코드답안
import java.util.Scanner;
public class Banking {
static Scanner sc=new Scanner(System.in);
static class Account{
private int id;
private String name;
private int balance;
private int secretcord;
public Account(){}
public Account(int id, String name, int balance, int secretcord){
this.id = id;
this.balance = balance;
this.name=name;
this.secretcord = secretcord;
}
public int ID() {return id;}
String Name() {return name;}
public int Balance() {return balance;}
public int SecretCord() {return secretcord;}
public void PlusMoney(int value) {balance = balance + value;}
public void MinusMoney(int value) {balance = balance - value;}
public void ShowData() {
System.out.println("이름 : " + name );
System.out.println("잔액 : " + balance);
}
};
static class AccountManager
{
private Account[] Array=new Account[100];
private int num;
public AccountManager() {num=0;}
public void make_account() {
{
int id;
String name;
int balance;
int secretcord;
System.out.println("*--------------- <계좌 개설> ---------------*");
System.out.println(" 새로운 계좌 개설을 시작합니다 " );
System.out.println(" 다음 순서대로 입력해 주세요 " );
System.out.print("계좌번호 : ");
id=sc.nextInt();
for (int i = 0; i < num; i++){
if (Array[i].ID() == id){
System.out.println(" 입력하신 계좌번호가 이미 존재합니다! ");
System.out.println(" <Main Menu> 로 돌아갑니다. ");
System.out.println("*-------------------------------------------\n\n\n");
return;
}
}
System.out.print("이름 : ");
name=sc.next();
System.out.print("비밀번호 : ");
secretcord=sc.nextInt();
System.out.print("입금액 : ");
balance=sc.nextInt();
System.out.println(" 계좌 개설 완료 " );
System.out.println("*-------------------------------------------*\n\n\n");
Array[num] = new Account(id, name, balance, secretcord);
num++;
}
}
public void deposit() {
int input_id;
int money;
int input_number;
System.out.println("*--------------- <입 금> ---------------*");
System.out.print("계좌번호 : ");
input_id=sc.nextInt();
for (int i = 0; i < num; i++){
if (Array[i].ID() == input_id){
System.out.println("비밀번호 : ");
input_number=sc.nextInt();
if (Array[i].SecretCord() == input_number){
System.out.print("이름 : ");
System.out.println(Array[i].Name());
System.out.print("입금액 : ");
money=sc.nextInt();
Array[i].PlusMoney(money);
System.out.println(" 입금 완료! ");
System.out.println("입금 후 잔액 : " + Array[i].Balance());
System.out.print("*-------------------------------------------*\n\n\n");
return;
}
System.out.println(" 비밀번호가 틀렸습니다! ");
System.out.print(" <Main Menu> 로 돌아갑니다. \n\n\n");
return;
}
}
System.out.println(" 입력하신 계좌번호가 존재하지 않습니다! ");
System.out.print(" <Main Menu> 로 돌아갑니다. \n\n\n");
}
public void withdrawal(){
int input_id;
int money;
int input_number;
System.out.println("*--------------- <출 금> ---------------*");
System.out.print("계좌번호 : ");
input_id=sc.nextInt();
for (int i = 0; i < num; i++)
{
if (Array[i].ID() == input_id)
{
System.out.print("비밀번호 : ");
input_number=sc.nextInt();
if (Array[i].SecretCord() == input_number)
{
Array[i].ShowData();
System.out.print("출금액 : ");
money=sc.nextInt();
if (Array[i].Balance() < money){
System.out.println(" 잔액이 부족합니다! ");
System.out.print(" <Main Menu> 로 돌아갑니다. \n\n\n");
return;
}else{
Array[i].MinusMoney(money);
System.out.println(" 출금 완료! ");
System.out.println("출금 후 잔액 : " + Array[i].Balance());
System.out.print("*-------------------------------------------*\n\n\n");
return;
}
}
System.out.println(" 비밀번호가 틀렸습니다! ");
System.out.print(" <Main Menu> 로 돌아갑니다. \n\n\n");
return;
}
}
System.out.println(" 입력하신 계좌번호가 존재하지 않습니다! ");
System.out.print(" <Main Menu> 로 돌아갑니다. \n\n\n");
}
public void move_money(){
int input_id;
int money;
int input_number;
int other_id;
int answer;
System.out.println("*--------------- <계좌 이체> ---------------* ");
System.out.print("본인 계좌번호 : ");
input_id=sc.nextInt();
for (int i = 0; i < num; i++){
if (Array[i].ID() == input_id){
System.out.print("비밀번호 : ");
input_number=sc.nextInt();
if (Array[i].SecretCord() == input_number){
System.out.print("이름 : ");
System.out.println(Array[i].Name());
System.out.print("현재 잔액 : ");
System.out.println(Array[i].Balance());
System.out.print("이체 금액 : ");
money=sc.nextInt();
if (Array[i].Balance() < money) {
System.out.println(" 잔액이 부족합니다! ");
System.out.println(" <Main Menu> 로 돌아갑니다. \n\n\n");
return;
}else{
System.out.print("\n받는 분 계좌번호 : ");
other_id=sc.nextInt();
for (int k = 0; k < num; k++){
if (Array[k].ID() == other_id){
System.out.print("받는 분 성함 : ");
System.out.println(Array[k].Name());
System.out.println("\n 받는 분이 맞습니까?(맞으면 1, 틀리면 2) ");
System.out.print(" → ");
answer=sc.nextInt();
if (answer == 1){
Array[i].MinusMoney(money);
Array[k].PlusMoney(money);
System.out.println(" 송금 완료! ");
System.out.println("송금 후 잔액 : " + Array[i].Balance());
System.out.print("*-------------------------------------------*\n\n\n");
return;
}
System.out.println(" <Main Menu> 로 돌아갑니다. \n\n\n");
return;
}
}
System.out.println(" 입력하신 계좌번호가 존재하지 않습니다! ");
System.out.println(" <Main Menu> 로 돌아갑니다. \n\n\n");
return;
}
}
System.out.println(" 비밀번호가 틀렸습니다! ");
System.out.println(" <Main Menu> 로 돌아갑니다. \n\n\n");
return;
}
}
System.out.println(" 입력하신 계좌번호가 존재하지 않습니다! ");
System.out.println(" <Main Menu> 로 돌아갑니다. \n\n\n");
}
public void inquiry(){
int input_id;
int input_number;
Scanner sc=new Scanner(System.in);
System.out.println("*--------------- <잔액 조회> ---------------* ");
System.out.print("계좌번호 : ");
input_id=sc.nextInt();
for (int i = 0; i < num; i++){
if (Array[i].ID() == input_id){
System.out.print("비밀번호 : ");
input_number=sc.nextInt();
if (Array[i].SecretCord() == input_number){
Array[i].ShowData();
System.out.println("*-------------------------------------------*" + "\n\n\n");
return;
}
System.out.println(" 비밀번호가 틀렸습니다! ");
System.out.println(" <Main Menu> 로 돌아갑니다. \n\n\n");
return;
}
}
System.out.println(" 입력하신 계좌번호가 존재하지 않습니다! ");
System.out.println(" <Main Menu> 로 돌아갑니다. \n\n\n");
}
};
public static void main(String args[]){
AccountManager manager=new AccountManager();
int choice;
while (true){
System.out.println("*--------------- <Main Menu> ---------------*");
System.out.println(" 1. 계좌개설 ");
System.out.println(" 2. 입금 ");
System.out.println(" 3. 출금 ");
System.out.println(" 4. 계좌이체 ");
System.out.println(" 5. 잔액조회 ");
System.out.println(" 6. 프로그램 종료 ");
System.out.println("*-------------------------------------------*");
System.out.println(" 원하시는 메뉴 번호를 입력하세요 ");
System.out.print(" 선택 : ");
choice=sc.nextInt();
System.out.print("\n");
switch (choice)
{
case 1: manager.make_account();
break;
case 2: manager.deposit();
break;
case 3: manager.withdrawal();
break;
case 4: manager.move_money();
break;
case 5: manager.inquiry();
break;
case 6:
return;
default: System.out.println(" 잘못된 선택입니다! \n\n\n");
break;
}
}
}
}
더 많은 자바코드가 보고 싶다면?
https://chuinggun.tistory.com/category/%EC%9E%90%EB%B0%94/%EC%9E%90%EB%B0%94
'자바 > 자바' 카테고리의 다른 글
[자바] 3 6 9 마다 짝소리를 내는 369 프로그램을 작성하시오 (0) | 2020.04.11 |
---|---|
[자바] 다항식을 구하시오 (0) | 2020.04.11 |
[자바] 화씨 값을 입력받아 섭씨 값을 출력하시오 (0) | 2020.04.11 |
[자바] 변수를 입력받고 변수의 합, 평균을 구하시오 (0) | 2020.04.11 |
[자바] 입력된 금액을 만들기 위한 화폐단위별 징수하기 (0) | 2020.04.11 |
댓글