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. 전체 지출 금액
- 실행 결과
- 유의사항
한글 입력시 오류가 발생해서 영어로만 입력을 받는 프로그램이 되었다.
'JAVA' 카테고리의 다른 글
0316 JAVA - 객체지향 (0) | 2020.03.16 |
---|---|
0311 JAVA - 배열, 최소값과 최대값 비교, 버블정렬, 선택정렬 (0) | 2020.03.11 |
0310 JAVA - 배열 예제(학생 관리 프로그램) (0) | 2020.03.11 |
0310 JAVA - 메소드, 사칙연산 계산기 예제 (0) | 2020.03.10 |
0309 JAVA - 배열(Array) (0) | 2020.03.09 |