이 전 시간에 배웠던 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++
}
}