import java.util.Scanner;

public class MoneyBook {

	public static void main(String[] args) {
		final int MAX = 2;
				
		String date[] = new String[MAX];
		int inMoney[] = new int[MAX];
		int outMoney[] = new int[MAX];
		String list[] = new String[MAX];
		int balance = 0;
		int totalInMoney = 0;
		int totalOutMoney = 0;
		
		int select = 0;
		
		Scanner scan = new Scanner(System.in);
		
		System.out.println("-- 가계부 프로그램 --");
			
			while(true) {
				System.out.println("------------------------");
				System.out.println("<< 메뉴 >>");
				System.out.println("1. 내역 등록 ");
				System.out.println("2. 전체 출력 ");
				System.out.println("3. 수입 출력 ");
				System.out.println("4. 지출 출력 ");
				System.out.println("5. 종료 ");
				System.out.print("선택> ");
				select = scan.nextInt();
				
				if(select == 5) {
					System.out.println("프로그램을 종료합니다.");
						break;}
				
				switch(select) {
					case 1:
						for(int i = 0; i < MAX; i++) {
							System.out.println("-------------------");
							scan.nextLine();//enter skip해줌							
							System.out.println("날짜 : ");
							date[i] = scan.nextLine();
							
							System.out.println("수입 금액 : ");
							inMoney[i] = scan.nextInt();	
							totalInMoney += inMoney[i];
							
							System.out.println("지출 금액 : ");
							outMoney[i] = scan.nextInt();
							totalOutMoney += outMoney[i];
							scan.nextLine();
							
							System.out.println("내역 : ");
							list[i] = scan.nextLine();

							System.out.println();
						}	
						break;
					case 2:
						System.out.println();
						for(int i = 0; i < MAX; i++) {
							System.out.println("--------------------------");
							System.out.println(" 날짜 : " + date[i]);
							System.out.printf(" 수입 : %,d원%n", inMoney[i]);
							System.out.printf(" 지출 : %,d원%n", outMoney[i]);
							System.out.println(" 내역 : " + list[i]);
							System.out.println();
						}//1~MAX까지의 내역이 전체 출력되야 하므로 배열로 받음

						balance = totalInMoney - totalOutMoney;
						System.out.println("--------------------------");
						System.out.printf(" 전체 수입 금액 : %,d원%n", totalInMoney);
						System.out.printf(" 전체 지출 금액 : %,d원%n", totalOutMoney);
						System.out.printf(" 전체 잔액 : %,d원%n", balance);
						break;
					case 3:
						System.out.println();
						for(int i = 0; i < MAX; i++) {
							System.out.println("--------------------------");
							System.out.println(" 날짜 : " + date[i]);
							System.out.printf(" 수입 : %,d원%n", inMoney[i]);
							System.out.println(" 내역 : " + list[i]);
							System.out.println();
						}

						System.out.printf(" 잔액 : %,d원%n", balance);
						System.out.printf(" 전체 수입 금액 : %,d원%n", totalInMoney);
						break;
					case 4:
						totalOutMoney = -(totalOutMoney);
						System.out.println();
						for(int i = 0; i < MAX; i++) {
							System.out.println("--------------------------");
							System.out.println(" 날짜 : " + date[i]);
							System.out.printf(" 지출 : %,d원%n", outMoney[i]);
							System.out.println(" 내역 : " + list[i]);
							System.out.println();
						}

						System.out.printf(" 잔액 : %,d원%n", balance);
						System.out.printf(" 전체 지출 금액 : %,d원%n", totalOutMoney);
						break;
					default://잘못된 메뉴 입력
						System.out.println("잘못 누르셨습니다.");
						break;						
				}
			}		
	}

}

- 사용한 변수

 1. 내역 등록 
 2. 수입 
 3. 지출 
 4. 잔액 
 5. 전체 수입 금액 
 6. 전체 지출 금액

 

- 실행 결과

1. 내역등록 선택시
2. 전체 내역 출력
3. 수입 내역 출력
4. 지출 내역 출력
5. 프로그램 종료

 

- 유의사항

한글 입력시 오류가 발생해서 영어로만 입력을 받는 프로그램이 되었다.

+ Recent posts