이 전 시간에 배웠던 Kotlin Loop문(for, while)을 통해 별 찍기를 해보는 시간을 가지려고 한다.

import java.util.Scanner
/*
줄의 수를 입력하시오 > 9
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
         *
 */
fun main() {
    print("줄의 수를 입력하시오 > ")
    val number = Scanner(System.`in`).nextInt()
    // for ~ each
    for( line in 1..number ) {
        // 공백 출력 for문
        for( i in 1..line) {
            print(" ")
        }
        // 별 모양(*) 출력 for 문
        for( i in 1 ..2 * (number-line) + 1  ) {
            print('*')
        }
        println()   // 줄 바꿈
    }
   
}
import java.util.Scanner
/*
줄의 수를 입력하시오 > 9
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
         *
 */
fun main() {
    print("줄의 수를 입력하시오 > ")
    val number = Scanner(System.`in`).nextInt()
    // while
    var line = 1
    while( line <= number ) {
        var empty = 1
        while ( empty <= line ) {
            print(" ")
            empty++
        }
        var star = 1
        while ( star <= 2 * (number - line) + 1 ) {
            print("*")
            star++
        }
        println()   // 줄 바꿈
        line++
    }
   
}

import java.util.Scanner
/*
줄의 수를 입력하시오 > 9
        *
       ***
      *****
     *******
    *********
   ***********
  *************
 ***************
*****************
 */
fun main() {
    print("줄의 수를 입력하시오 > ")
    val number = Scanner(System.`in`).nextInt()
    // for ~ each
    for( line in 1..number ) {
        // 공백 number - 1 .. 0
        // 공백 출력 for문
        for( i in number - line downTo 1 ) {
            print(" ")
        }
        // 별 모양(*) 출력 for 문
        // 1 3 5 7 9 ... 2 * number-line + 1
        for( i in 1 until 2 * line  ) {
            print('*')
        }
        println()   // 줄 바꿈
    }
}
import java.util.Scanner
/*
줄의 수를 입력하시오 > 9
        *
       ***
      *****
     *******
    *********
   ***********
  *************
 ***************
*****************
 */
fun main() {
    print("줄의 수를 입력하시오 > ")
    val number = Scanner(System.`in`).nextInt()
    // while
    var line = 1
    while( line <= number ) {
        var empty = number - line
        while ( empty > 0 ) {
            print(" ")
            empty--
        }
        var star = 1
        while ( star < 2 * line ) {
            print("*")
            star++
        }
        println()   // 줄 바꿈
        line++
    }
}

import java.util.*
/*
        *
       ***
      *****
     *******
    *********
   ***********
  *************
 ***************
*****************
 ***************
  *************
   ***********
    *********
     *******
      *****
       ***
        *
 */
// 별 찍기 1 + 2
fun main() {
    print("줄의 수를 입력하시오 > ")
    val number = Scanner(System.`in`).nextInt()
    // for ~ each
    for( line in 1..number ) {
        // 공백 출력 for문
        for( i in 1.. number - line ) {
            print(" ")
        }
        // 별 모양(*) 출력 for 문
        for( i in 1 until 2 * line  ) {
            print('*')
        }
        println()   // 줄 바꿈
    }
    for( line in 1 until number ) {
        // 공백 출력 for문
        for( i in 1..line) {
            print(" ")
        }
        // 별 모양(*) 출력 for 문
        for( i in 1 until 2*(number-line)  ) {
            print('*')
        }
        println()   // 줄 바꿈
    }
}
import java.util.*
/*
        *
       ***
      *****
     *******
    *********
   ***********
  *************
 ***************
*****************
 ***************
  *************
   ***********
    *********
     *******
      *****
       ***
        *
 */
// 별 찍기 1 + 2
fun main() {
    print("줄의 수를 입력하시오 > ")
    val number = Scanner(System.`in`).nextInt()
    // while
    // 1 ~ number 번 째 line : 증가하는 별 찍기
    var line = 1
    while ( line <= number ) {
        // 공백 찍기
        var empty = 1
        while ( empty <= number - line ) {
            print(" ")
            empty++
        }
        // 별 찍기
        var star = 1
        while( star < 2 * line ) {
            print("*")
            star++
        }
        println()
        line++
    }
    // number + 1 번째 ~ ( 2 * number ) - 1 : 감소하는 별 찍기
    var line2 = 1
    while ( line2 < number ) {
        // 공백 찍기
        var empty = 1
        while ( empty <= line2 ) {
            print(" ")
            empty++
        }
        // 별 찍기
        // number + 1 번째 라인부터 별의 개수는 (2 * (number-1) -1)개 에서 1개까지 2개씩 줄어간다.
        var star = 1
        while ( star <= 2 * ( number - 1 - line2 ) + 1 ) {
            print("*")
            star++
        }
        println()   // 줄 바꿈
        line2++
    }
}