디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

자바 코딩중 질문입니다..(질문 수정)

햐...(112.163) 2011.11.06 11:55:30
조회 73 추천 0 댓글 3

import java.util.Scanner;

class UserInfo {
 String year = "0", month = "0", date = "0", money = "0", contents = "0";

 public UserInfo(String year, String month, String date, String money,
   String contents) {
  this.year = year;
  this.month = month;
  this.date = date;
  this.money = money;
  this.contents = contents;
 }

 public void showUserInfo() {
  System.out.print("년 : " + year + "    월 : " + month + "    일 : " + date
    + "    금액 : " + money + "    내용 : " + contents);
  System.out.println();
 }
}

class baseData {
 String y="0", m="0", d="0", mon="0";

 public baseData(String y, String m, String d, String mon) {
  this.m = m;
  this.d = d;
  this.mon = mon;
 }
 public void showbaseData() {
  System.out.print("년 : " + y + "    월 : " + m + "    일 : " + d + "    금액 : " + mon);
  System.out.println();
 }
}

class inputData {
 static final int MAX_CNT = 100;
 static UserInfo[] user1 = new UserInfo[MAX_CNT]; // 배열 선언
 static baseData[] base = new baseData[MAX_CNT];

 static int curCnt = 0;
 int baseCnt = 0;
 int count;
 
 public void inputData() {
  System.out.println("데이터 입력을 시작합니다..");
  System.out.print("년 : ");
  String year = MenuViewer.keyboard.nextLine();
  System.out.print("월 : ");
  String month = MenuViewer.keyboard.nextLine();
  System.out.print("일 : ");
  String date = MenuViewer.keyboard.nextLine();
  System.out.print("금액 : ");
  String money = MenuViewer.keyboard.nextLine();
  System.out.print("내용 : ");
  String contents = MenuViewer.keyboard.nextLine();
  user1[curCnt++] = new UserInfo(year, month, date, money, contents);
  System.out.println("데이터 입력이 완료되었습니다. \\n");
 }
}

class Change extends inputData {

 public void searchData() {
  System.out.println("데이터 검색을 시작합니다..");
  System.out.print("년 : ");
  String searchYear = MenuViewer.keyboard.nextLine();
  System.out.print("월 : ");
  String searchMonth = MenuViewer.keyboard.nextLine();
  System.out.print("일 : ");
  String searchDate = MenuViewer.keyboard.nextLine();

  int dataIdx = search(searchYear, searchMonth, searchDate);
  if (dataIdx < 0) {
   System.out.println("해당하는 데이터가 존재하지 않습니다. \\n");
  } else {
   user1[dataIdx].showUserInfo();
   System.out.println("데이터 검색이 완료되었습니다. \\n");
  }
 }

 public void printData() {
  for (int dataIdx = 0; dataIdx < curCnt; dataIdx++) {
   user1[dataIdx].showUserInfo();
  }
  System.out.println("데이터 출력이 완료되었습니다. \\n");
 }

 public void changeData() {
  int spendMoney = 0;
  int saveMoney = 0;
  String updateMoney;
  int a;
  int Money;
  int choice;
  System.out.println("데이터 입력을 시작합니다..");
  System.out.println("1. 수입");
  System.out.println("2. 지출");
  choice = MenuViewer.keyboard.nextInt();
  MenuViewer.keyboard.nextLine();

  if (choice == 1) {// 더하기
   System.out.print("년 : ");
   String year = MenuViewer.keyboard.nextLine();
   System.out.print("월 : ");
   String month = MenuViewer.keyboard.nextLine();
   System.out.print("일 : ");
   String date = MenuViewer.keyboard.nextLine();
   System.out.print("금액 : ");
   String money = MenuViewer.keyboard.nextLine();
   System.out.print("내용 : ");
   String contents = MenuViewer.keyboard.nextLine();
   System.out.print("이프전");
   if (baseCnt >0) {
    System.out.print("첫이프 125");
    for (int baseCnti = 0; baseCnti < curCnt; baseCnti++) {
     System.out.print("포 127");
     if (base[baseCnti].y == year && base[baseCnti].m == month && base[baseCnti].d == date) {
      System.out.print("두번째 이프 129");
      saveMoney = Integer.parseInt(money);
      Money = Integer.parseInt(base[curCnt].mon);
      a = Money + saveMoney;
      updateMoney = Integer.toString(a);
      user1[curCnt++] = new UserInfo(year, month, date, updateMoney, contents);
      base[curCnt++] = new baseData(year, month, date, money);
     } else {
      System.out.print("엘스 137");
      user1[curCnt++] = new UserInfo(year, month, date, money, contents);// 기준이 없을때는 그냥 들어감(입력된게 기준에 저장)
      base[curCnt++] = new baseData(year, month, date, money);
     }
    }
   } else {
    System.out.print("아래엘스 143");
    user1[curCnt++] = new UserInfo(year, month, date, money, contents);// 기준이 없을때는 그냥 들어감(입력된게 기준에 저장)
    base[curCnt++] = new baseData(year, month, date, money);
    
   }
   System.out.println("데이터 입력이 완료되었습니다.");
  }
 }

 public void deleteData() {
  System.out.println("데이터 삭제를 시작합니다..");

  System.out.print("년 : ");
  String year = MenuViewer.keyboard.nextLine();
  System.out.print("월 : ");
  String month = MenuViewer.keyboard.nextLine();
  System.out.print("일 : ");
  String date = MenuViewer.keyboard.nextLine();

  int dataIdx = search(year, month, date);
  if (dataIdx < 0) {
   System.out.println("해당하는 데이터가 존재하지 않습니다. \\n");
  } else {
   for (int idx = dataIdx; idx < (curCnt - 1); idx++)
    user1[idx] = user1[idx + 1];

   curCnt--;
   System.out.println("데이터 삭제가 완료되었습니다. \\n");
  }
 }

 private int search(String year, String month, String date) {
  for (int idx = 0; idx < curCnt; idx++) {
   UserInfo curInfo = user1[idx];
   if (year.compareTo(curInfo.year) == 0
     & month.compareTo(curInfo.month) == 0
     & date.compareTo(curInfo.date) == 0)
    return idx;
  }
  return -1;
 }
}

class MenuViewer {
 public static Scanner keyboard = new Scanner(System.in);

 public static void showMenu() {
  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.println("6. 프로그램 종료");
  System.out.print("선택: ");
 }
}

class MoneyManage2 {
 public static void main(String[] args) {
  Change change = new Change();

  int choice;

  while (true) {
   MenuViewer.showMenu();
   choice = MenuViewer.keyboard.nextInt();
   MenuViewer.keyboard.nextLine();

   switch (choice) {
   case 1:
    change.inputData();
    break;
   case 2:
    change.searchData();
    break;
   case 3:
    change.printData();
    break;
   case 4:
    change.changeData();
    break;
   case 5:
    change.deleteData();
    break;
   case 6:
    System.out.println("프로그램을 종료합니다");
    return;
   }
  }
 }
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
286419 옛날에 교회 수련회 가서 쪽팔렸던 썰txt ^0^갤로그로 이동합니다. 11.11.07 370 0
286417 ㅜㅜ 질문 똑바로 할게 제발 갈켜주라 [24] elwlwlwk갤로그로 이동합니다. 11.11.07 161 0
286416 뻐킹존뉴비가 질문하나만 여쭙겠사옵니다 [10] 닥회드(119.64) 11.11.07 144 0
286415 엑셀시작한지 1일되는데요 여기서 막히네요 [6] 갤로그로 이동합니다. 11.11.07 115 0
286414 난 가끔 공부하다가 모르는거 여기 물어보면 꼭 답글 병신맛 나더라 [7] 그걸(175.117) 11.11.07 89 0
286411 에이 잠이나 잘래 퇴갤 [2] 버틸수가없ㅋ다갤로그로 이동합니다. 11.11.07 34 0
286410 프갤성님들 API질문좀요 [5] 김 딜러(61.254) 11.11.07 43 0
286409 그러니까 문제는 static을 [11] elwlwlwk갤로그로 이동합니다. 11.11.07 137 0
286408 님들 저 증강현실 구현하는 과제 있는데 해주세요 [3] 그걸(175.117) 11.11.07 67 0
286407 어제 C로 매크로 프로세서 만들던놈인데 C#으로 바꿈 [2] Blazer사마갤로그로 이동합니다. 11.11.07 112 0
286406 과제글 존나많네 [1] 정수정•‿•갤로그로 이동합니다. 11.11.07 51 0
286405 모르면 쫌 아는척 하지마라 어? [4] 미친년(58.239) 11.11.07 98 0
286404 설치마법사는 [12] elwlwlwk갤로그로 이동합니다. 11.11.07 129 0
286402 객관적인 설문조사함 [2] 공돌이(117.123) 11.11.07 59 0
286401 '[5084] 과제.exe: 네이티브' 프로그램이 종료되었습니다(코드: [9] 빛나는해드샷(175.125) 11.11.06 1071 0
286400 다시 질문하는데 ㅅㅂ 아오 빡친다 [24] elwlwlwk갤로그로 이동합니다. 11.11.06 148 0
286399 프갤의 역사 while(TRUE){과제질문->무시->다시질문->욕} [6] ㅁㅁ(58.141) 11.11.06 63 0
286397 얘들아 여긴 과제 해결해주는곳이 아니다 [10] 버틸수가없ㅋ다갤로그로 이동합니다. 11.11.06 108 0
286396 나c언어시작한지얼마안됫는데이문제좀가르켜주세요 [7] chldntjr1209갤로그로 이동합니다. 11.11.06 100 0
286395 이것저것 배우고자 가입했어요!!! [6] 똥클루드갤로그로 이동합니다. 11.11.06 87 0
286394 그렇다면 [6] elwlwlwk갤로그로 이동합니다. 11.11.06 67 0
286393 어셈블리가 어렵냐고 물어보는 병신도있고, 네이트온 스터디구하는병신도있고 [1] ㅋㅋ(58.141) 11.11.06 107 0
286392 재수해서 학교 업그레이드 할까요? [3] 웁쭈무(39.112) 11.11.06 85 0
286391 아 주변사람이 너무 피곤하게 한다 [1] 허접(125.139) 11.11.06 69 0
286386 프갤 스터디그룹 멤버모집 (※ 비기너코더,마스터코더 모두 가능) [8] veritaxluxmeaest갤로그로 이동합니다. 11.11.06 97 0
286385 일찍 자야 한 시간이라도 더 자고 전간디갤로그로 이동합니다. 11.11.06 22 0
286383 일찍 자러 갑니다. 근데 잠 안올듯 ㅠㅠ [6] [성대아싸]갤로그로 이동합니다. 11.11.06 82 0
286382 횽들 enum에 대해서 질문올립니다. [1] 치킨맛맛폰갤로그로 이동합니다. 11.11.06 69 0
286380 드림스파크에서 다운할려는데 학생인증받는법 [2] 홍동길(175.125) 11.11.06 68 0
286379 별찍기,소수,1부터n까지,공약수,공배수 기타등등 [1] 허접(125.139) 11.11.06 62 0
286377 이게 도움이 될까? [2] 이게(222.107) 11.11.06 66 0
286376 항상 반드시 최대한 오래 살아라. [2] ㅁㅇㅍㅁ(211.189) 11.11.06 45 0
286375 원래 어셈블리언어라는 과목이 존나 쉬운거야? [4] 저격甲갤로그로 이동합니다. 11.11.06 108 0
286374 자바 제어문 문제 하나만 질문해도 될까요? [1] 호랑이(116.126) 11.11.06 48 0
286373 프갤 그래도 예전엔 나름 개념겔이였는데 [2] 미친년(58.239) 11.11.06 83 0
286372 C# 채팅프로그래밍.. 만들며 공부중인데 도와주실분 찾아여ㅠㅠ [15] 프로그래밍쵸보갤로그로 이동합니다. 11.11.06 367 0
286370 배열이용한 1000까지 소수구하는 프로그래밍 돠주세요 ㅜㅡㅜ [4] 마약er갤로그로 이동합니다. 11.11.06 81 0
286368 내일 여자 신입사원오기로 했는데 걱정이네요.... [6] ㅈㅈㅈㅈ(1.212) 11.11.06 281 0
286367 (조공첨부)안드로이드 디펜스 게임 만들려는데 문제가 생김 도와죠 횽들.. [1] ㅁㄴㅇ(114.200) 11.11.06 142 0
286365 횽들... 군대가기전 내 마지막 안드로이드 앱이야 ㅠㅠ 그런데.. [5] 박스노트갤로그로 이동합니다. 11.11.06 93 0
286364 우아아아아아아아아아ㅏ아아아아아! 우아아아아어어어어어어어어어어어ㅓ어어어!! [1] 큐아큐아큥(125.131) 11.11.06 52 0
286363 저 여친 사귀는 방법좀 알려쥬ㅜ세요. [3] G-Unit(220.244) 11.11.06 69 0
286362 아 진짜 알바 쓰레기다. [5] 늅이(203.250) 11.11.06 78 0
286361 프갤 스터디그룹 멤버모집 (※ 비기너코더,마스터코더 모두 가능) [8] veritaxluxmeaest갤로그로 이동합니다. 11.11.06 106 0
286358 야 이정도 퍼블리셔면 연봉이 어느정도가 적당하냐? [4] 고기BASIC(58.122) 11.11.06 182 0
286357 이런 경우 남은시간동안 과제를 처리할 확률이 있을까요 허접(125.139) 11.11.06 43 0
286356 Scripting Programming 언어 [1] 알오티씨플머갤로그로 이동합니다. 11.11.06 86 0
286355 static변수가 메모리 해제가 안되는걸로 알고 있는데 [6] elwlwlwk갤로그로 이동합니다. 11.11.06 145 0
286354 전문대취업 vs 4년제편입 (진로상담글입니다..) 도와주셈요ㅠ [1] 짬트라슈갤로그로 이동합니다. 11.11.06 237 0
286352 헝 엔씨 프로그래머 자격조건에 선형대수 있음 [1] 알오티씨플머갤로그로 이동합니다. 11.11.06 124 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2