Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Full-Stack 개발자가 되려는 작은 개발자의 블로그

Java를 이용한 학생 관리 프로그램/가계부 프로그램 본문

강의 정리/Java

Java를 이용한 학생 관리 프로그램/가계부 프로그램

jhjin 2020. 3. 11. 15:29

배열을 이용한 가계부 프로그램

import java.util.Scanner;

public class KeepingBook {
	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		final int MAX=3;
		
		String inOutDate[]=new String[MAX];
		String inOutSort[]=new String[MAX];
		int inOutMoney[]=new int[MAX];
		
		int totalMoney=1517;//총 잔액
		int inMon=0;//수입 총 합
		int outMon=0;//지출 총 합

		int select=0;
		
		System.out.println("가계부 프로그램");
		while(true) {
			System.out.println("==================================================");
			System.out.println("1.내용 등록 2.전체 출력 3.수입 출력 4.지출 출력 5.종료");
			System.out.println("==================================================");
			System.out.print("선택 > ");
			select=scan.nextInt();
			
			if(select==5) {
				System.out.println("프로그램을 종료합니다.");
				break;
			}
			switch(select) {
			case 1: //내용 등록
				for(int i=0;i<MAX;i++) {
					scan.nextLine();
					System.out.println("(지출 or 수입)"); 
					inOutSort[i]=scan.nextLine();
					System.out.println("날짜를 입력해주세요 > ");
					inOutDate[i]=scan.nextLine();
					System.out.println("금액을 입력해주세요");
					inOutMoney[i]=scan.nextInt();
					if(inOutSort[i].equals("in")) {
						totalMoney+=inOutMoney[i];
						inMon+=inOutMoney[i];
					}else if(inOutSort[i].equals("out")) {
						totalMoney-=inOutMoney[i];
						outMon-=inOutMoney[i];
					}
				}
				break;
			case 2: //전체 출력
				System.out.printf("날짜\t\t금액\t\t수입/지출\n");
				for(int i=0;i<MAX;i++) {
					System.out.printf("%s\t\t%d\t\t%s\n",inOutDate[i],inOutMoney[i],inOutSort[i]);
				}
				System.out.println("잔액 : "+totalMoney);
				break;
			case 3: //수입 출력
				System.out.printf("날짜\t\t금액\t\t수입\n");
				for(int i=0;i<MAX;i++) {
					if(inOutSort[i].equals("in")) {
						System.out.printf("%s\t\t+%d\t\t%s\n",inOutDate[i],inOutMoney[i],inOutSort[i]);
					}
				}
				System.out.println("수입 총 합 : "+inMon);
				break;
			case 4: //지출 출력
				System.out.printf("날짜\t\t금액\t\t지출\n");
				for(int i=0;i<MAX;i++) {
					if(inOutSort[i].equals("out")) {
						System.out.printf("%s\t\t-%d\t\t%s\n",inOutDate[i],inOutMoney[i],inOutSort[i]);
					}
				}
				System.out.println("지출 총 합 : "+outMon);
				break;
			}
		}
	}
}

입출력 메소드를 활용 학생 관리 프로그램

import java.util.Scanner;

public class StudentManager2 {
	static Scanner scan=new Scanner(System.in);
	final static int MAX=3; //학생의 전체 인원
	static String names[]=new String[MAX];
	static String major[]=new String[MAX];
	static String phoneNumber[]=new String[MAX];//int로 잡을 경우 앞자리 0을 입력하면 짤린다. 
	static int stuNumber[]=new int[MAX];
	static float avgScore[]=new float[MAX];
	
	public static int printMenu() {
		System.out.println("1.정보입력 2.정보출력 3.종료");
		System.out.println("========================================");
		System.out.print("선택 >");
		int selMenu=scan.nextInt();
		
		return selMenu;
	}
	public static void inputStuInfo() {
		System.out.println("학생을 등록해주세요!");
		for(int i=0;i<MAX;i++) {
			System.out.println("===================");
			System.out.print("이름 > ");
			names[i]=scan.next();
			System.out.print("전공 > ");
			major[i]=scan.next();
			System.out.print("학번 > ");
			stuNumber[i]=scan.nextInt();
			System.out.print("전화번호 > ");
			phoneNumber[i]=scan.next();
			System.out.print("학점 > ");
			avgScore[i]=scan.nextFloat();
		}
	}
	public static void printStuInfo() {
		for(int i=0;i<MAX;i++) {
			System.out.println("===============================");
			System.out.println((i+1)+"번 학생 정보");
			System.out.println(names[i]);
			System.out.println(major[i]);
			System.out.println(stuNumber[i]);
			System.out.println(phoneNumber[i]);
			System.out.println(avgScore[i]);
		}
	}
	public static void main(String[] args) {
		int selMenu=0;//메뉴 입력 값을 저장 할 변수
		
		System.out.println("학생 관리 프로그램");
		System.out.println("========================================");
		while(true) {
			selMenu=printMenu();
			
			//먼저 처리할 메뉴
			if(selMenu==3) {
				System.out.println("프로그램을 종료합니다.");
				break;
			}
			switch(selMenu) {
			case 1: //입력 처리 메뉴
				inputStuInfo();
				break;
			case 2: //출력 처리 메뉴
				printStuInfo();
				
				break;
			default://잘못된 메뉴 입력   
				break;
			}
		}
	}//main()
}

 

'강의 정리 > Java' 카테고리의 다른 글

객체 지향 실습1  (0) 2020.03.16
Java 기초를 이용한 로또 프로그램/야구 게임  (0) 2020.03.15
Java 기초 실습5  (0) 2020.03.09
Java를 이용한 달력 프로그램  (0) 2020.03.08
Java 기초 실습4  (0) 2020.03.05
Comments