미니프로젝트(2) 메모장 프로젝트

우정·2022년 11월 23일
0

드디어 프로젝트!!!
너무 걱정했는데 역시나 어려웠다..

내일이 찐 프로젝트고 오늘은 기초를 다지는 프로젝트? 느낌이라 쉽다고 했는데.. 왜이렇게 어렵죠?ㅜㅠ

필수 기능

  • 메모장 프로그램은 1. 입력 2. 목록 보기 3. 수정 4. 삭제 5. 종료 메뉴로 구성되어 있다.
  • 입력 기능
    • 이름, 비밀번호, 메모를 스캐너를 통해 입력 받는다.
    • 1건의 글을 생성 및 메모 리스트에 저장한다.
  • 수정 기능
    • 수정할 글 번호를 입력 받는다.
    • 수정할 글이 존재하면 글을 수정하고 존재하지 않으면 존재하지 않는다고 메시지를 출력한다.
    • 수정할 글의 비밀번호를 입력 받는다.
    • 글을 수정하기 위해 입력한 비밀번호와 수정할 글의 비밀번호가 일치하면 글을 수정하고 일치하지 않으면 비밀번호가 일치하지 않는다는 메시지를 출력한다.
      • 비밀번호가 일치할 시 : 수정 내용 업데이트
      • 비밀번호 불일치 시 : 비밀번호가 일치하지 않는다는 메시지 출력
  • 삭제 기능
    • 삭제할 글 번호를 입력 받는다
    • 삭제할 글이 존재하면 글을 삭제하고 존재하지 않으면 존재하지 않는다는 메시지를 출력한다.
    • 삭제할 글의 비밀번호를 입력 받고 비밀번호 일치 여부를 판단한다.
  • 메모 클래스 (MemoVO, Memo)
    • 메모 한 건에 대한 정보를 가진 클래스
    • 메모는 글 번호, 작성자 이름, 비밀번호, 게시글, 작성일(컴퓨터 시스템의 날짜와 시간을 자동으로 저장) 가지고 있다.
    • 글의 수정 시, 수정 시간으로 시간이 변경된다.
  • 메모 리스트 (MemoList)
    • 여러 건의 메모를 저장하는 클래스 이다.
    • 메모 전체를 조회할 수 있다. (Getter/Setter 존재)
    • 작성 최신 순으로 메모를 출력한다.
    • 1건의 글을 메모 리스트에 추가할 수 있다.
    • 글의 수정 또는 삭제 시 글 번호를 넘겨 받고 리스트에서 글 번호에 해당하는 글 1건을 얻어와 리턴 시키는 메소드가 있다.
    • 해당되는 글 1건을 수정하는 메소드가 있다.
    • 글 1건을 삭제하는 메소드가 있다.
    • 글 삭제 후 글 번호를 다시 붙여준다.
    • 글이 삭제된 후 새 글이 입력될 때 idx가 기존 idx값에 이어서 1씩 증가할 수 있도록 count의 값을 수정한다.

  • 내가 맡은 역할
    : 입력 기능 구현하기
    • 이름, 비밀번호, 메모를 스캐너를 통해 입력 받는다.
      -> 이건 어떻게 만들긴 함
      근데 글을 생성해서 메모리스트에 저장? 이거 모르겠어서 찾아보다가 못찾고 물어봤는데 Memo.java에 생성자를 만들고 MemoList.java에 객체를 생성해서.. 하면 된다고 말을 해주심
      -> 다시 해봄
      -> 몰라...
      결국 다시 모였을 때 물어봄..
      -> 이해완.....

하면서 알게된 것들

  • do-while을 사용하는 이유?
    • while문은 조건을 먼저 확인하기 때문에 조건이 충족되지 않으면 아예 실행이 안 되지만, do-while문은 수행을 먼저하기 때문에 조건이 충족되지 않더라도 무조건 한번은 실행하기 때문
  • Scanner 클래스
    Scanner scanner = new Scanner(System.in);
    System.in 은 사용자로부터 입력을 받기 위한 입력 스트림이라 꼭 입력해줘야함
    • 입력 메소드
      • in.nextInt() : int 형 입력 및 리턴
      • in.next() : String 형 입력 및 리턴 (공백을 기준으로 한 단어를 읽음)
      • in.nextLine() : String 형 입력 및 리턴 (개행을 기준으로 한 줄을 읽음)
  • .equals()은 뭐지?
    • 문자열 값을 비교해주는 메서드. 객체끼리 내용을 비교함
    if(str1.equals(str2)) {
    				System.out.println("str1과 str2는 같습니다.");
    			}
    			else {
    				System.out.println("str1과 str2는 같지 않습니다.");
    			}

느낀 점

do-while문은 강의 때 들었었는데 너무 초면이었다.... 복습을 잘 안 해서 그런가?ㅜㅜ
분명 내일 새로 시작할 프로젝트의 구성을 파악하기 위해서 먼저 해보는 쉬운 프로젝트라고 하셨는데... 너무 어려워서 울고 싶었다
그래도 확실히 실전을 해보면 더 많이 얻어가는 느낌..!
내일은 또 얼마나 모를지.. 무섭지만ㅠㅜ 해내야지..
그리고 오늘 깃을 사용해서 작업해봤는데 깃 너무 어려워ㅠㅠ 클론까진 하겠는데 푸시부턴 모르겠다.. 자기 전에 깃 강의 2배속으로 들어봐야겠음,,
으아아 너무 부족한 게 많고 할 게 많아서 머리 터질 거 같지만 내일도 화이팅하자!!!!!!! 잘할 수 있다!!!

0개의 댓글

관련 채용 정보