본문 바로가기
자바/자바

[자바]BankAccount 계좌개설 코드

by 이얏호이야호 2020. 4. 3.

공부하시는대에 도움이 됐으면 좋겠습니다.

답안코드 확인해주세요!

입출력예시

*--------------- <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

 

댓글