디시인사이드 갤러리

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

갤러리 본문 영역

자바 코딩중 오류좀 봐주세요 (전체소스로 수정)

울랄랄랄랄(112.163) 2011.11.06 18:08:26
조회 51 추천 0 댓글 3

import java.util.Scanner;

class UserInfo {
 String year, month,date;
 String money;
 String contents;
 int number[] = new int[100];

 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 + "  ");
  System.out.print("금액 : " + money + "  ");
  if (contents != null)
   System.out.print("내용 : " + contents + "  ");
  System.out.println();
 }
}

class inputData {
 static final int MAX_CNT = 100;
 static UserInfo[] user1 = new UserInfo[MAX_CNT]; // 배열 선언
 static int curCnt = 0;
 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 name=MenuViewer.keyboard.nextLine();
  System.out.print("금액 : ");
  String phone=MenuViewer.keyboard.nextLine();
  System.out.print("내용 : ");
  String birth=MenuViewer.keyboard.nextLine();
  
  user1[curCnt++]=new UserInfo(year, month, name, phone, birth);
  System.out.println("데이터 입력이 완료되었습니다. \\n");  
 }
}

class Change extends inputData {
 static final int MAX_CNT = 100;
 static UserInfo[] user1 = new UserInfo[MAX_CNT]; // 배열 선언
 
 public void searchData() {
  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 i = 0; i < curCnt; i++) {
    UserInfo curInfo = user1[i];
    if (date.compareTo(curInfo.date) == 0) {
     user1[i].showUserInfo();
    }
   }
   System.out.println("데이터 검색이 완료되었습니다. \\n");
  }
 }

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

 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)
    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();
  inputData inputdata = new inputData();
  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;
   }
  }
 }
}

데이터를 11 11 11 이렇게 입력하고
검색하려고하는데요 11 11 11 이렇게 입력받으면
Exception in thread "main" java.lang.NullPointerException
 at Change.search(MoneyManager2.java:168)
 at Change.searchData(MoneyManager2.java:123)
 at MoneyManage2.main(MoneyManager2.java:206)
이렇게 오류가납니다 168번째문에 123번도 오류가 나는거 같은데 if문을 저렇게 비교 하면 안되나요....?
-----------------------------------------------------------------------------------------
전체 소스입니다.... 완성해야 하는 목표는 출납부 형식으로 만드는건데요
조회, 수정 가능 해야 해서 지금 수정중인데 막히는 부분이 많네요...
지금 제생각은 입력받을때 년 월 일을 따로 따로 입력받아서 저장하고 그거에 대해서 수입,지출 확인하는 방법으로 하고 있는데...
여기저기서 막히네요 ㅎㅎ;;

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
286512 그래...싸워봤자 뭔 소용이겠어... [2] 얼빠진호랑이갤로그로 이동합니다. 11.11.07 83 0
286511 케이블기사랑 아웅다웅 지상파 디지털 전환 [2] 다림줄갤로그로 이동합니다. 11.11.07 88 0
286510 시불라미횽에게 안드로이드 질문 [2] 쿄스케갤로그로 이동합니다. 11.11.07 52 0
286509 MFC 에서 파일 읽어와서 출력하는것좀...ㅠㅠㅠ제발 ㅠㅠㅠㅠ [2] 살려줘 ㅠ(220.149) 11.11.07 128 0
286508 개발자 입장에서 안드로이드 루팅도 X같은 면이 있넹 [3] 시불라미갤로그로 이동합니다. 11.11.07 114 0
286507 내일이 지구 멸망의 날인데 여기서 뭐하고 있냐?? [1] 거칠게갤로그로 이동합니다. 11.11.07 72 0
286506 프갤게이님들 곧 빼빼로 데이입니다. [3] 꼬꼬월드갤로그로 이동합니다. 11.11.07 68 0
286505 [1] ㅇㅅㅇ(210.178) 11.11.07 50 0
286504 형들 솔직히 저 싫죠? 제가 프갤에 있는게 좆같죠 냉? [7] Stan(220.244) 11.11.07 113 0
286503 아... 집에가고 싶다.. [3] 햏햏했갤로그로 이동합니다. 11.11.07 62 0
286502 난 내가 게이가 될줄은 몰랐음... [1] 빅바!갤로그로 이동합니다. 11.11.07 58 0
286501 너님들은 자바에서 배열 만들고 랜덤으로 숫자 넣을때 중복 처리 어케함?난 [4] 자바(211.117) 11.11.07 78 0
286500 형들 리눅스에서 cpu정보가 이상해 한번 봐주라 ~ [10] ㅡ@ㅡ갤로그로 이동합니다. 11.11.07 121 0
286499 온라인상 여성 혐오증이라고 해봤자... [5] 꼬꼬월드갤로그로 이동합니다. 11.11.07 108 0
286498 형들 자바 문법 [5] 플래닛댄스갤로그로 이동합니다. 11.11.07 71 0
286497 웹프로그랭밍 언어 문법은 금방 배우는거 같는데.. [5] 영기백수(218.147) 11.11.07 107 0
286496 여자가 좋은가여.... [2] 빅바!갤로그로 이동합니다. 11.11.07 63 0
286495 온라인상에 만연한 여성혐오증 그 원인은 무엇인가? [1] 치킨맛맛폰갤로그로 이동합니다. 11.11.07 67 0
286494 뭔 분위기가 이리 험악하다냐... 꼬꼬월드갤로그로 이동합니다. 11.11.07 57 0
286493 야이 씨발 아스 게이새끼야 대답하라고 [5] 얼빠진호랑이갤로그로 이동합니다. 11.11.07 138 0
286492 에디트플러스 Alt + Tab 단축키 좀 알려주세요.. [5] 낑깡(218.147) 11.11.07 86 0
286491 아스트라 개새끼야 대답해봐 씨발놈아 [2] 얼빠진호랑이갤로그로 이동합니다. 11.11.07 97 0
286490 아스 야 이 게이 새끼야 [5] 얼빠진호랑이갤로그로 이동합니다. 11.11.07 118 0
286489 왜 alloc.h가 있는데 왜 alloc.h를 포함시키질 못하니 .. [1] 치킨맛맛폰갤로그로 이동합니다. 11.11.07 101 0
286487 뒤늦은 금요일 벙개 후기 ㅋ [10] 쿄스케갤로그로 이동합니다. 11.11.07 187 0
286486 이거보고 게임 끊음 [8] ㅁㄴㅇㄻㅇㄹ(121.50) 11.11.07 364 0
286485 자료구조 듣는데 dfs bfs 하나 스스로 못짜는 내가 한심하다 [1] 잉드로이드갤로그로 이동합니다. 11.11.07 114 0
286484 횽들아 컴파일러책추천좀...ㅎㅎ 즐쿰갤로그로 이동합니다. 11.11.07 68 0
286482 만약 내가 책쓰면 모든 신자들을 위해 하느님,하나님,판테온의 모든신들까지 [1] 1(118.220) 11.11.07 53 0
286480 뭣이? 종교가 쓸대 없는거? [3] 1(118.220) 11.11.07 63 0
286479 횽들은 비쥬얼베이직 몇버전을 제일 선호해? 2006? [5] Toro갤로그로 이동합니다. 11.11.07 75 0
286478 윤성우 c++ 책 샀는데 개독이 확실 [4] 1(118.220) 11.11.07 202 0
286477 아참 프로페셔널하고 익스프레스하고 무슨차이야? [6] Rocket Queen갤로그로 이동합니다. 11.11.07 76 0
286476 근데 궁금한게 대학교에서는 왜 6.0 써?? [4] Rocket Queen갤로그로 이동합니다. 11.11.07 94 0
286475 근데 비주얼6.0이랑 2005 이후버전들은 인터페이스 너무 틀리지 않냐? 버틸수가없ㅋ다갤로그로 이동합니다. 11.11.07 49 0
286474 아그리구 미안한데 비쥬얼스튜디오 2010 다운받아 쓸수없을까 ㅜㅡ [5] Rocket Queen갤로그로 이동합니다. 11.11.07 104 0
286473 다음 면접 끝 ㅎㄷㄷㄷ [8] [성대아싸]갤로그로 이동합니다. 11.11.07 310 0
286472 ㅎㅇ 늅늅이 인사올림과 덧붙여 비쥬얼스튜디오 질문 헤헤 [13] Rocket Queen갤로그로 이동합니다. 11.11.07 125 0
286470 횽들 자바로 그림판 만들려고 하는데 궁금한게 있어요 학부생(165.229) 11.11.07 77 0
286469 디자인만 보면 맥 키보드가 좋은데 [1] -ㅂ-(210.90) 11.11.07 68 0
286468 리얼포스 색깔 너무 알록달록하지 않아? [2] -ㅂ-(210.90) 11.11.07 63 0
286466 횽들은 어디서 프로그래밍 공부함? [3] 캔버스(211.197) 11.11.07 79 0
286465 형들 혹시 파일처리론 배울때 [5] ㅁㄴㅇㅁ(121.66) 11.11.07 117 0
286464 횽들 질문이요 ~ [2] 치킨맛맛폰갤로그로 이동합니다. 11.11.07 49 0
286462 욕구 불만 한주 시작... [1] 다림줄갤로그로 이동합니다. 11.11.07 68 0
286461 우리들이 정신차리는 법 [3] 분당살람갤로그로 이동합니다. 11.11.07 154 0
286460 리얼포스 지름 후기 [9] McHello갤로그로 이동합니다. 11.11.07 261 0
286459 코드는 거짓말 하지 않는다... 다만 커널이... [4] iljeomobolt갤로그로 이동합니다. 11.11.07 118 0
286458 자바 awt구현 니오늘메시갤로그로 이동합니다. 11.11.07 53 0
286456 프로그래밍 막상 하기전에는 재미있어보였는데 하고나면 재미없지않냐 [4] ㅇㅇ(61.77) 11.11.07 106 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2