디버깅표를 이용한 이중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
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바