Search

클래스배열4_문제01_ATM

대분류
STEP07 클래스
소분류
클래스배열4_문제

영상

문제

package 클래스배열4_문제; import java.util.Scanner; class Member{ int number; String id; String name; } class Account{ String accountNumber; String password; int money; String memberId; } public class 클래스배열4_문제01_ATM_문제 { public static void main(String[] args) { String[][] memberData = { {"1001", "qwer", "김철수"}, {"1002", "mmkk11", "이영희"}, {"1003", "javaking123", "최민수"} }; String[][] accountData = { {"111111111", "1234","100000", "qwer"}, {"222222222", "1234","200000", "mmkk11"}, {"333333333", "1234","300000", "mmkk11"}, {"444444444", "1234","400000", "javaking123"}, {"555555555", "1234","500000", "qwer"}, {"666666666", "1234","600000", "qwer"}, }; Account[] accountList = new Account[accountData.length]; Member[] memberList = new Member[memberData.length]; Scanner scan = new Scanner(System.in); while(true) { String menu = ""; menu += "[0] 종료 \n"; menu += "[1] 위 data배열들의 값들을 클래스배열에 저장 후 출력 \n"; menu += "[2] 회원 아이디를 입력받고 계좌별 잔액출력 \n"; menu += "[3] 222222222 계좌에서 444444444 계좌로 5000원 송금 후 전체출력 \n"; System.out.println(menu); int sel = scan.nextInt(); if(sel == 0) { break; } else if(sel == 1) { } else if(sel == 2) { } else if(sel == 3) { } } scan.close(); } }
Java
복사

해설

package 클래스배열4_문제; import java.util.Scanner; /* class Member{ int number; String id; String name; } class Account{ String accountNumber; String password; int money; String memberId; } */ public class 클래스배열4_문제01_ATM_정답 { public static void main(String[] args) { String[][] memberData = { {"1001", "qwer", "김철수"}, {"1002", "mmkk11", "이영희"}, {"1003", "javaking123", "최민수"} }; String[][] accountData = { {"111111111", "1234","100000", "qwer"}, {"222222222", "1234","200000", "mmkk11"}, {"333333333", "1234","300000", "mmkk11"}, {"444444444", "1234","400000", "javaking123"}, {"555555555", "1234","500000", "qwer"}, {"666666666", "1234","600000", "qwer"}, }; Account[] accountList = new Account[accountData.length]; Member[] memberList = new Member[memberData.length]; Scanner scan = new Scanner(System.in); while(true) { String menu = ""; menu += "[0] 종료 \n"; menu += "[1] 위 data배열들의 값들을 클래스배열에 저장 후 출력 \n"; menu += "[2] 회원 아이디를 입력받고 계좌별 잔액출력 \n"; menu += "[3] 222222222 계좌에서 444444444 계좌로 5000원 송금 후 전체출력 \n"; System.out.println(menu); int sel = scan.nextInt(); if(sel == 0) { break; } else if(sel == 1) { for(int i=0; i<memberData.length; i++) { memberList[i] = new Member(); memberList[i].number = Integer.parseInt(memberData[i][0]); memberList[i].id = memberData[i][1]; memberList[i].name = memberData[i][2]; System.out.println(memberList[i].number + " : " + memberList[i].id + ", " + memberList[i].name); } System.out.println(); for(int i=0; i<accountData.length; i++) { accountList[i] = new Account(); accountList[i].accountNumber = accountData[i][0]; accountList[i].password = accountData[i][1]; accountList[i].money = Integer.parseInt(accountData[i][2]); accountList[i].memberId = accountData[i][3]; System.out.println(accountList[i].memberId + " : " + accountList[i].password + ", " + accountList[i].accountNumber + ", " + accountList[i].money + "원"); } } else if(sel == 2) { System.out.print("아이디를 입력하세요 : "); String id = scan.next(); for(int i=0; i<accountList.length; i++) { if(accountList[i].memberId.equals(id)) { System.out.println(accountList[i].accountNumber + ", " + accountList[i].money + "원"); } } } else if(sel == 3) { // 222222222 계좌에서 444444444 계좌로 5000원송금후 전체출력 String from = "222222222"; String to = "444444444"; int money = 5000; int fromIndex = 0; int toIndex = 0; for(int i=0; i<accountList.length; i++) { if(from.equals(accountList[i].accountNumber)) { fromIndex = i; } if(to.equals(accountList[i].accountNumber)) { toIndex = i; } } System.out.println(fromIndex); System.out.println(toIndex); if(accountList[fromIndex].money >= money) { accountList[fromIndex].money -= money; accountList[toIndex].money += money; } for(int i=0; i<accountList.length; i++) { System.out.println(accountList[i].accountNumber + ", " + accountList[i].money + "원"); } } } scan.close(); } }
Java
복사