TIL

김재익·2023년 6월 13일
0

TIL

목록 보기
7/42
post-thumbnail

자바 기초 강의 2주차
SQL 강의 3주차 4주차

깊은 복사 얕은 복사에 관한 게시글 작성
자바 기초 강의 2주차 과제 수행
SQL 강의 3주차 4주차 게시글 작성

2주차 과제

import java.util.*;

public class Main {
    public static void main(String[] args) {
        /*
    💁‍♀️ 자료구조 요리 레시피 메모장 만들기

        - 입력값
            - 저장할 자료구조명을 입력합니다. (List / Set / Map)
            - 내가 좋아하는 요리 제목을 먼저 입력합니다.
            - 이어서 내가 좋아하는 요리 레시피를 한문장씩 입력합니다.
            - 입력을 마쳤으면 마지막에 “끝” 문자를 입력합니다.
        - 출력값
            - 입력이 종료되면 저장한 자료구조 이름과 요리 제목을 괄호로 감싸서 먼저 출력 해줍니다.
            - 이어서, 입력한 모든 문장앞에 번호를 붙여서 입력 순서에 맞게 모두 출력 해줍니다.
        * */
        Scanner sc = new Scanner(System.in);
        String inputType = sc.next();
        sc.nextLine();
        String recipeName = sc.nextLine();
        switch (inputType) {
            case "set":
            case "SET":
            case "Set":
                LinkedHashSet<String> recipeSet = new LinkedHashSet<>();
                String textS = sc.nextLine();
                while (!textS.equals("끝")) {
                    recipeSet.add(textS);
                    textS = sc.nextLine();
                }
                System.out.println("[ " + inputType + " 으로 저장된 " + recipeName + " ]");
                int count = 1;
                for (String s : recipeSet) {
                    System.out.println(count++ + ". " + s);
                }
                break;
            case "list":
            case "List":
            case "LIST":
                List<String> recipeList = new ArrayList<>();
                String textL = sc.nextLine();
                while (!textL.equals("끝")) {
                    recipeList.add(textL);
                    textL = sc.nextLine();
                }
                System.out.println("[ " + inputType + " 으로 저장된 " + recipeName + " ]");
                for (int i = 0; i < recipeList.size(); i++) {
                    System.out.println((i + 1) + ". " + recipeList.get(i));
                }
                break;
            case "map":
            case "Map":
            case "MAP":
                Map<Integer, String> recipeMap = new LinkedHashMap<>();
                String textM = sc.nextLine();
                int number = 1;
                while (!textM.equals("끝")) {
                    recipeMap.put(number++, textM);
                    textM = sc.nextLine();
                }
                System.out.println("[ " + inputType + " 으로 저장된 " + recipeName + " ]");
                recipeMap.forEach((key, value) -> {
                    System.out.println(key + ". " + value);
                });
                break;
        }
    }
}

깊은 복사 얕은 복사
https://velog.io/@kin5080/깊은-복사-얕은-복사

SQL (3)
https://velog.io/@kin5080/SQL-3

SQL (4)
https://velog.io/@kin5080/SQL-4
정리해야할 양이 많아 4는 가지를 하나 더 쳐서 내일 작성할 예정

기초 부분 강의 들으면서 과제도 하고 나니 가물가물했던 부분이 확실하게 살아났다는 느낌을 받았다.
SQL강의를 마무리 했고 이제 JPA같은 실전에서 이 기억을 최대한 활용해봐야겠다 도움이 많이 될 듯 하다.
특히 4주차 서브쿼리는 꽤나 어려웠던 만큼 도움이 많이 될 듯 하다..

profile
개발자호소인

0개의 댓글