23년 6월 07일 수요일
오늘의 목표 : 팀 과제 - 메모장 시스템 만들기
오늘 공부한 내용🤓
개인과제였던 키오스크 시스템 만들기가 끝나자마자 2개의 팀과제가 주어졌다.
워밍업으로 키오스크 시스템에서 조금 더 발전된 메모장 시스템 만들기와 개인과제로 만들었던 키오스크 시스템에서 기능 추가하기
팀의 진도는 이미 앞서나가있지만 나는 내 힘으로 메모장 시스템을 구현하고 싶어서 혼자 메모장 시스템을 만들어보고 있다.
어떻게 보면 개인과제 때 작성한 코드를 응용할 수 있지만 그래도 계속 막히는 부분이 생긴다.
이번 메모장 시스템은 그 누구의 도움도 받지 않고 혼자 100% 구현해 볼 생각이다.
아직 완성된 코드는 아니지만, Main class에서 전체적인 틀과 MemoVO class에서 getter,setter까지
작성을 해봤다.
[내가 작성한 코드]
Main class
package Memo;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
HashMap<Integer, String> memoMain = new HashMap<Integer, String>();
memoMain.put(1, "1. 메모 입력");
memoMain.put(2, "2. 메모 목록 조회");
memoMain.put(3, "3. 메모 수정");
memoMain.put(4, "4. 메모 삭제");
memoMain.put(5, "5. 메모장 종료");
Scanner sc = new Scanner(System.in); // 입력 받을 값
MemoList memoList = new MemoList(); // 메모리스트 저장 할 변수 생성
while (true) {
System.out.println("===[선택하세요]===");
System.out.println(memoMain.get(1));
System.out.println(memoMain.get(2));
System.out.println(memoMain.get(3));
System.out.println(memoMain.get(4));
System.out.println(memoMain.get(5));
int select = sc.nextInt(); // 입력값을 int select로 받음
switch (select) {
//메모 입력
case 1:
System.out.println("===[메모 입력]===");
System.out.println("작성자의 이름을 입력하세요.");
String writer = sc.next();
System.out.println("수정/삭제 시 사용할 비밀번호를 입력하세요.");
int password = sc.nextInt();
System.out.println("메모 내용을 입력하세요.");
String memoContent = sc.next();
MemoVO memo = new MemoVO(); //입력된 메모를 담을 변수
memo.setWriter(writer);
memo.setPassword(password);
memo.setContent(memoContent);
memoList.addMemo(memo); // 메모를 담을 메서드
break;
//메모 목록 조회
case 2:
System.out.println("===[메모 목록 조회]===");
memoList.memoDisplay(); // memoDisplay 메서드 호출
break;
//메모 수정
case 3:
System.out.println("===[메모 수정]===");
System.out.println("수정할 메모의 번호를 입력하세요.");
System.out.println("작성 시 설정한 메모의 비밀번호를 입력하세요.");
System.out.println("수정할 메모의 내용을 입력하세요.");
break;
//메모 삭제
case 4:
System.out.println("===[메모 삭제]===");
System.out.println("삭제할 글 번호를 입력해주세요.");
break;
//메모장 종료
case 5:
System.out.println("===[메모장 종료]===");
break;
default:
}
}
}
}
MemoVO
package Memo;
import java.util.Date;
public class MemoVO {
int Id; // 글 번호
String writer; // 작성자
int password; // 비밀번호
String content; // 작성 내용
Date createdDate; // 작성 날짜
Date modifiedDate;// 수정 날짜
public MemoVO() {
// 기본 생성자
}
public MemoVO(int Id, String writer, int password, String content, Date createdDate, Date modifiedDate){
this.Id = Id;
this.writer = writer;
this.password = password;
this.content = content;
this.createdDate = createdDate;
this.modifiedDate = modifiedDate;
}
//게터, 세터
public int getId() {
return Id;
}
public void setId(int id) {
Id = id;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public int getPassword() {
return password;
}
public void setPassword(int password) {
this.password = password;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getCreatedDate() {
return createdDate;
}
public void setCreatedDate(Date createdDate) {
this.createdDate = createdDate;
}
public Date getModifiedDate() {
return modifiedDate;
}
public void setModifiedDate(Date modifiedDate) {
this.modifiedDate = modifiedDate;
}
}
MemoList
package Memo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class MemoList {
private List<MemoVO> memoList; //memoList
private int count; // count
public MemoList() {
memoList = new ArrayList<>();
count = 1; // 메모리스트 카운트
}
public void addMemo(MemoVO content) { //메모 추가 메서드
content.setId(count++); // 메모 추가 시 번호 ++
content.setCreatedDate(new Date()); // 메모 추가 시 현재 시간 출력
memoList.add(content); // 메모리스트에 content 추가
System.out.println("새로운 메모가 추가되었습니다.");
}
public void memoDisplay() {
if(memoList.isEmpty()) { //메모리스트에 메모가 비어있다면
System.out.println("메모가 존재하지 않습니다.");
return;
}
for (MemoVO memo : memoList) { // for문으로 모든 메모리스트 출력
System.out.println("글 번호 : " + memo.getId());
System.out.println("작성자 : " + memo.getWriter());
System.out.println("작성일 : " + memo.getCreatedDate());
System.out.println("작성 내용 : " + memo.getContent());
}
}
}
어려웠던 내용😵💫
메서드 작성하고 불러오는 곳에서 자꾸 오류가 나는데, 어떤 문제인지 파악하는게 어렵다.
궁금&부족한 내용❓
삭제&수정 메서드에서 계속 오류가 발생한다.
if 조건에 작성한 equals가 문제다. password를 boolean타입으로 지정하면 오류가 해결되는데,
실제 유저가 설정하는 비밀번호는 int타입으로 지정해놨기 때문에 오류가 발생하는 것 같다.. 이것에 대해서는 아직 해결하지 못했다.
if (!memo.getPassword().equals(password)) {
System.out.println("비밀번호가 일치하지 않습니다.");
return;
}
느낀 점💡
팀 내에 코드를 굉장히 수월하게 작성하시는 분이 계시다.
그 분덕에 팀과제를 밀리지 않고 전부 완성해서 제출할 수 있었다.
그러나 나와 남은 팀원분들은 메모장 시스템조차도 다 이해를 하지 못한 상황인데, 눈 깜짝할 새에 두 가지 과제가 끝나버렸다.
팀회의를 하지않고 혼자 짜오신 두 개의 코드에 무임승차하면서 이끌려가고싶지 않아서 혼자 공부하는 방법을 선택했다.
이번에 바뀐 팀에서는 팀 협업이 많이 안 되는 것 같아서 아쉽고,
나 또한 이렇게 공부하는 것이 개인 행동인 것 같은 생각에 자책을 하게 되지만 이렇게 하지 않으면 나의 실력은 제자리걸음일 것 같다는 생각이 든다.
나라도 빨리 실력을 쌓아서 나처럼 이해가 어려운 팀원분들께 차근차근 설명하고 알려드리면서 나도 복습하는 시간을 가지고 싶다.
'📌TIL [Today I Learn]' 카테고리의 다른 글
[TIL] 23년 6월 09일 금요일 (0) | 2023.06.09 |
---|---|
[TIL] 23년 6월 08일 목요일 (0) | 2023.06.08 |
[TIL] 23년 6월 01일 목요일 (0) | 2023.06.01 |
[TIL] 23년 5월 31일 수요일 (0) | 2023.05.31 |
[TIL] 23년 5월 30일 화요일 (0) | 2023.05.30 |