달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
*자바의 정석 3판 163페이지의 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.*;
 
class FlowEx17{
    public static void main(String[] args){
        int num = 0;
        System.out.println("*을 출력할 라인의 수를 입력하세요.");
 
        Scanner sc = new Scanner(System.in);
        String tmp = sc.nextLine();
        num = Integer.parseInt(tmp);
sc.close();  

        for(int i=0; i<num; i++){
            for(int j=0; j<=i; j++{
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
cs
      

출력할 라인의 수를 담을 객체 num을 초기화 한다.

스캐너 클래스 객체를 생성한다.

입력받은 내용을 tmp에 담는다.

tmp의 내용을 int로 형변환하여 num에 담는다.


2중 for문의 원리는,

첫번째 for문에서 조건식이 단 한번 수행될때

두번째 for문에서는 두번째 for문이 종료될 때까지 수행된다.


즉, i가 0이고 num이 5라고 가정해보면

첫번째 사이클에선 2번째 for문이 딱 한 번 수행되고 *을 한 개 찍고 sysout()을 통해 줄바꿈을 한 뒤 다시 i for문으로 돌아간다.

두번째 사이클에선 2번째 for문이 두 번 수행되므로 *을 두 번 찍고 sysout() 후 i for문으로 돌아간다.


이 로직을 요약하면,

i와 j의 출발점은 똑같고 j의 조건식 종료점은 i가 되면 된다.


'Java 기초부터' 카테고리의 다른 글

객체지향 프로그래밍  (0) 2019.03.26
여러가지 모양의 별 찍기  (0) 2019.03.26
구구단 찍기  (0) 2019.03.18
for문 기초 문법  (0) 2019.03.18
자바로 프로그램 작성하기  (0) 2019.03.09
Posted by 새벽네시반
|