디버깅표를 이용한 이중for문 - 별찍기

2024. 6. 27. 13:53·JAVA

예전에 학교를 다닐 때에도 반복문은 진짜 많이 했던 기억이 난다.

하지만 반복문을 중첩으로 사용하게 된 시점부터 너무 어렵고 힘들어서 포기를 했던 기억이 난다.

그때 포기를 했던 이유를 지금 와서 생각해보면 "디버깅표" 라는 것을 몰라서 그러지 않았나 싶다.

또한 지금 현재 가르쳐주시고 있는 강사님이 하지 말라던 "콘솔"에 의존해서 제시한 결과물을 똑같이 출력하는데에 초점을 두고 연습을 했기 때문에 실력이 늘 수가 없었다.

 

국비 교육을 받으면서 디버깅표를 알게 되고 원리를 이해하니까 생각보다 할만하다는 것을 깨달았다.

 

 

여기서 디버깅표란, 알고리즘(순서도)이 정확하게 작성되었는지 최종적으로 검증하는 표이다.

표를 작성할 때, 변수값과 조건값(T, F)를 입력하여, 컴퓨터가 진행하는 동작을 직접 입력해주면 된다.

아래는 예시이다.


*

**

***

****

*****


위의 별찍기의 디버깅표를 작성해보면 이렇다.

a a<5 i ???
0 T 0 T
    1 F
1 T 0 T
    1 T
    2 F
2 T 0 T
    1 T
    2 T
    3 F
3 T 0 T
    1 T
    2 T
    3 T
    4 F
4 T 0 T
    1 T
    2 T
    3 T
    4 T
    5 F
5 F    

 

위 디버깅표를 보면, a의 값이 5가 되면 종료되고, i<=a값이 되면 종료된다. 

위 디버깅표를 토대로 작성해보면,

public static void main(String[] args) {
		for(int a=0;a<5;a++) { // *을 5줄 찍을 것이다
			for(int i=0;i<=a;i++) { 
				System.out.print("*");
			}
			System.out.println(); // 줄바꿈
		}
	}

이렇게 코드가 나오게 되고, 위 코드를 실행시키면 처음 원하는 별찍기가 출력된다.

'JAVA' 카테고리의 다른 글

JAVA 함수를 이용해서 학생부 프로그램 만들기  (0) 2024.07.01
JAVA 함수  (0) 2024.06.28
반복문과 배열 예제 풀이  (0) 2024.06.27
JAVA 코드를 통해 생성자 이해하기  (0) 2024.06.22
JAVA - 객체지향이란 ?  (0) 2024.06.22
'JAVA' 카테고리의 다른 글
  • JAVA 함수
  • 반복문과 배열 예제 풀이
  • JAVA 코드를 통해 생성자 이해하기
  • JAVA - 객체지향이란 ?
yn98
yn98
좌우명 : 여전할 것 인가, 역전할 것 인가? 백엔드 개발자가 되고싶은 역전하고 있는 개발자 꿈나무의 블로그입니다. 개발을 하면서 공부한 것들을 기록합니다. 24.06 ~
  • yn98
    개발 꿈나무
    yn98
  • 전체
    오늘
    어제
    • 분류 전체보기 (131)
      • Python (3)
      • 공부 (7)
      • DB (7)
      • JAVA (24)
      • JSP (9)
      • jQuery (2)
      • HTML (3)
      • Spring (20)
      • 웹 (4)
      • C (1)
      • Git (2)
      • 에러일기 (19)
      • 프로젝트 (6)
      • 책 (21)
        • 멘토씨리즈 자바 (14)
        • 2024 수제비 정보처리기사 (7)
      • 기타 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
    • Notion
  • 공지사항

  • 인기 글

  • 태그

    객체지향
    @repository
    jsp
    @service
    ViewResolver
    생성자
    @Component
    어노테이션
    2-layered 아키텍처
    정처기 실기
    수제비
    오블완
    티스토리챌린지
    상속
    스프링 프레임워크
    recoverabledataaccessexception
    정처기
    오버로딩
    aop
    Spring
    멘토씨리즈 자바
    codeup 4891 : 행복
    MVC
    html
    정보처리기사
    java
    DispatcherServlet
    정보처리기사 실기
    이벤트 스케줄러
    Di
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
yn98
디버깅표를 이용한 이중for문 - 별찍기
상단으로

티스토리툴바