디시인사이드 갤러리

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

갤러리 본문 영역

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

햐...(112.163) 2011.11.06 11:55:30
조회 71 추천 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 - -
이슈 [디시人터뷰] 충무로가 주목하는 신예, '세계의 주인' 서수빈 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
286352 헝 엔씨 프로그래머 자격조건에 선형대수 있음 [1] 알오티씨플머갤로그로 이동합니다. 11.11.06 120 0
286350 C++프로젝트 했을때의 기억을 되살려 보면....및 현 개발자 조언 [22] madcat_mk2갤로그로 이동합니다. 11.11.06 240 0
286349 프갤 스터디 그룹같은거 만드는거 어떻게 생각함 ㅇㅇ? [3] veritaxluxmeaest갤로그로 이동합니다. 11.11.06 60 0
286348 밤 되니까 또 배고프다. [2] 꼬꼬월드갤로그로 이동합니다. 11.11.06 45 0
286347 실무프로그래머 형들..형들의 경험 담긴 조언이 필요해.. [2] 썩을동(119.196) 11.11.06 82 0
286346 미치겠음 [1] 4444(58.224) 11.11.06 53 0
286344 objective-c 배운횽 있으면 좀 도와주라 내 네톤친추점... [1] veritaxluxmeaest갤로그로 이동합니다. 11.11.06 38 0
286343 ㅎㅎ 해냈음!! 우왕!! [14] 큐아큐아큥(125.131) 11.11.06 181 0
286341 자바 행님들 자비좀...굽신굽신 [4] 와메빡체네(112.163) 11.11.06 319 0
286340 verilog 하시는 분 계신가요?? verilog(218.150) 11.11.06 92 0
286338 포인터 간단한 질문좀할꼐 ㅠ [3] 뀨뀨링갤로그로 이동합니다. 11.11.06 79 0
286336 뉴비의 금요일 토요일 프갤 번개 후기.escape [4] 꼬꼬월드갤로그로 이동합니다. 11.11.06 115 0
286335 본인이 업ㅂ네 -_-;; DMW(119.71) 11.11.06 82 0
286334 니들은 여성개발자보면 어떻게 여기 들어왔을까 안 궁금함? [1] 미친년(58.239) 11.11.06 116 0
286333 형들 여자는 언제 만남? [4] 여자(125.181) 11.11.06 115 0
286332 야! 공백세는넘아. 아직도 그고 하구 있냐? DMW갤로그로 이동합니다. 11.11.06 64 0
286330 c언어 초간단 질문~~ [2] 123(211.246) 11.11.06 55 0
286329 프갤 너무 병신같음. 나이제 안옴 꺼졍 ㅗㅗ ㅋ [2] Stan(220.244) 11.11.06 95 0
286328 매트랩 과제땜에 질문인데..ㅋㅋㅋㅋ [1] 돈암트윈스갤로그로 이동합니다. 11.11.06 62 0
286327 학원에서 귀환탐 ㅋㅋㅋ [4] 얼빠진호랑이갤로그로 이동합니다. 11.11.06 138 0
286326 C# 책추천좀 [1] 박구갤로그로 이동합니다. 11.11.06 83 0
286325 다이렉트 9.0 버퍼 직접 수정하기 [조공짤] [11] 큐아큐아큥(125.131) 11.11.06 183 0
286323 안녕 안녕? [4] 꼬꼬월드갤로그로 이동합니다. 11.11.06 103 0
286322 나는 벌레보다 못하다 [3] Adelposs갤로그로 이동합니다. 11.11.06 103 0
286321 이부분에서 문제가있는것 같은데요 ㅜㅜ 좀 봐주시면 안될까요? [4] 하양(221.159) 11.11.06 65 0
286320 재미있는 구글 이스터 에그 [2] 어떡해갤로그로 이동합니다. 11.11.06 105 0
286319 게이들아 내 질문에 답변 좀 해주세여 ㅠㅠㅠ [3] ^0^갤로그로 이동합니다. 11.11.06 52 0
286318 진짜 일요일 되니까 글리젠 쩌네 [1] 버틸수가없ㅋ다갤로그로 이동합니다. 11.11.06 37 0
286317 문자열을 받아서 공백갯수 찾는건데, [5] 엉덩이에땀갤로그로 이동합니다. 11.11.06 68 0
286316 테트리스 배타테스트 버전2 _ 아다의 영혼.swf [3] Stan(220.244) 11.11.06 120 0
286315 도와주세요. 와일문이 반응을 안해요 ㅜㅜ [6] 하양(221.159) 11.11.06 94 0
286314 C++ 책 추천좀 [5] 박구갤로그로 이동합니다. 11.11.06 132 0
286313 근데 내가 짜놓고 이게 뭔지 모르겠다. [1] 고기BASIC(58.122) 11.11.06 53 0
286312 죄송해요 선언안된부분 다 고쳤는데요 이제 실행중에 멈춰요 ㅜㅜ 하양(221.159) 11.11.06 39 0
286311 자바 코딩중 오류좀 봐주세요 (전체소스로 수정) [3] 울랄랄랄랄(112.163) 11.11.06 51 0
286310 야들아 만든거 일단 올리고 버그 고치는게 낫냐 [2] 고기BASIC(58.122) 11.11.06 42 0
286309 jar 파일 열기 진짜 힘드네 [7] 박구갤로그로 이동합니다. 11.11.06 1036 0
286308 c++ 연결리스트를 이용한 더하기 빼기 곱하기 문제입니다. 도와주세요 ㅜ [4] 하양(221.159) 11.11.06 304 0
286307 drawImage 다시 보기 쉽게끔 수정했습니다 ㅠㅠ 한번만봐주세요 [5] 32423(183.101) 11.11.06 60 0
286306 저희학교에서 전곡책으로 쓰는 big java .. 여기에는 [1] 32423(183.101) 11.11.06 89 0
286304 자바 실행 문제;; [1] 모르겠다(210.220) 11.11.06 57 0
286303 으히히 지금 학원에서 구구단 만들기 배운당 [4] 얼빠진호랑이갤로그로 이동합니다. 11.11.06 138 0
286301 K-ON [3] 어떡해갤로그로 이동합니다. 11.11.06 107 0
286300 objective-c 초보질문좀요 ㅇㅇ [8] veritaxluxmeaest갤로그로 이동합니다. 11.11.06 94 0
286298 가상함수 땜에 돌아버리겠네 [1] 탐욕의두들리갤로그로 이동합니다. 11.11.06 49 0
286296 좋아결정했어!! [2] 알오티씨플머갤로그로 이동합니다. 11.11.06 81 0
286295 아 프로그래밍 너무 어려움 디클로로메탄갤로그로 이동합니다. 11.11.06 34 0
286294 형님들 C에서 배열을 함수로 넘길때 문제가 발생해염 [2] 우와앙(122.36) 11.11.06 97 0
286291 횽들은 어쩌다가 하고싶은걸 발견하게 됐어? [1] dd(59.30) 11.11.06 58 0
286287 형들.. 자바 호좁인데 ㅠ_ㅠ 5시간째 헤매구 있어요 도와주세요 [13] 32423(183.101) 11.11.06 177 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2