[TIL] 240124

Geehyun(장지현)·2024년 1월 25일

TIL

목록 보기
21/70
post-thumbnail

Today

  • Do it! 자바 완전 정복
    • Java를 이용해서 구구단 출력 실습
  • 코드잇 : JS 프론트 로드맵
    • JS 데이터 다루기 강의 진행중

Review

  • 드디어 정보처리기사 필기 신청완료!!! - 2/17
  • Java 문법과 JS 문법이 좀 혼동이 있어서 반복 연습을 해봐야할 것 같다.
  • 구구단을 이런식으로 콘솔 창 내에 가로로 쭉 출력하는거 까지는 어렵지 않은데

    아래 처럼 비정방 배열일 때 가로로 출력하는게 어려웠다. 비정밥 배열의 경우 열의 길이가 다 달라서 그 부분 예외처리가 필요한데 그 부분을 생각해내는게 어려웠다.

    열의 길이 부분을 일단 맥스로 잡고 해당 열 만큼 길지 않은 경우 error가 떨어지니 그부분을 그냥 try-catch로....처리해봤다.
    void play3(int[][] arr) {
        int[] arrLength = {5, 3, 6, 4, 7, 2, 8, 9};
        int max = 0;
        for (int i : arrLength) {
            if(i>max) {max = i;}
        }

        for(int i = 0; i < max; i++){
            for(int j = 0; j < 4; j++) {
                if(i == 0 && j == 0) {
                    for(int k = 2; k < 6; k++) {
                        System.out.printf("  %d 단",k);
                        System.out.print("              ");
                    }
                    System.out.println();
                    for(int k = 2; k < 6; k++) {
                        System.out.print("---------");
                        System.out.print("          ");
                    }
                    System.out.println();
                }
                try {
                    System.out.printf("%d X %d = %2d         ",j+2,i+1,arr[j][i]);
                } catch(Exception e){
                    System.out.print("                   ");
                }
            }
            System.out.println();
        }
        System.out.println();
        for(int i = 0; i < max; i++){
            for(int j = 4; j < 8; j++) {
                if(i == 0 && j == 4) {
                    for(int k = 6; k < 10; k++) {
                        System.out.printf("  %d 단",k);
                        System.out.print("              ");
                    }
                    System.out.println();
                    for(int k = 6; k < 10; k++) {
                        System.out.print("---------");
                        System.out.print("          ");
                    }
                    System.out.println();
                }
                try {
                    System.out.printf("%d X %d = %2d         ",j+2,i+1,arr[j][i]);
                } catch (Exception e) {
                    System.out.print("                   ");
                }

            }
            System.out.println();
        }
        System.out.println("-------------------------↑try-catch문-------------------------------------");
        System.out.println();
    }

하지만 try-catch의 용도는 에러처리가 목적이기 때문에 해당 방법이 옳지 못하다고 여겨 if문으로 현재 진행중인 행의 열 길이가 진행 중인 순서보다 작다면 공란을 표시하도록 수정하였다.

void play4(int[][] arr) {

        System.out.println("-----------------------------↓if문----------------------------------------");
        int[] arrLength2 = {5, 3, 6, 4, 7, 2, 8, 9};
        int max2 = 0;
        for (int i : arrLength2) {
            if(i>max2) {max2 = i;}
        }
        int column = (int) (arr.length / 2);

        for(int i = 0; i < max2; i++){
            for(int j = 0; j < column; j++) {
                if(i+1 > arr[j].length) {
                    System.out.print("                   ");
                } else if(j == 0 && i== 0) {
                    System.out.printf("  %d단                %d단                %d단                %d단              \n",j+2,j+3,j+4,j+5);
                    System.out.println("---------          ---------          ---------          ---------          ");
                    System.out.printf("%d X %d = %2d         ",j+2,i+1,arr[j][i]);
                } else {
                    System.out.printf("%d X %d = %2d         ",j+2,i+1,arr[j][i]);
                }
            }
            System.out.println();
        }
        System.out.println();
        for(int i = 0; i < max2; i++){
            for(int j = column; j < column*2; j++) {
                if(i+1 > arr[j].length) {
                    System.out.print("                   ");
                } else if (j == column && i ==0) {
                    System.out.printf("  %d단                %d단                %d단                %d단              \n",j+2,j+3,j+4,j+5);
                    System.out.println("---------          ---------          ---------          ---------          ");
                    System.out.printf("%d X %d = %2d         ",j+2,i+1,arr[j][i]);
                } else {
                    System.out.printf("%d X %d = %2d         ",j+2,i+1,arr[j][i]);
                }
            }
            System.out.println();
        }
    }

TO DO

  • 개인 프로젝트 주제 3~5가지 : 영화 예매 사이트, 쇼핑물....
  • JAVA 수업진도 나간거 복습하기
    • 클래스 부분 부터 velog 정리 필요
  • 블로그 프로젝트 매일 조금씩 고도화 해가기
    • 현재 레이어팝업 내용변경 부분까지 진행완료 - 실제 내용 작성필요
profile
블로그 이전 했습니다. 아래 블로그 아이콘(🏠) 눌러서 놀러오세요

0개의 댓글