romworld

Chapter 04. 조건문과 반복문 문제 ( Counting Star) 본문

JAVA/문제풀이

Chapter 04. 조건문과 반복문 문제 ( Counting Star)

inderrom 2022. 9. 14. 01:03

문제 1

System.out.println("----------------");
System.out.println("*****");
System.out.println("*****");
System.out.println("*****");
System.out.println("----------------");
// 위의 별을 for문을 이용해 찍어보세요.
  for(int i = 1; i <= 3; i++) {
	for(int j = 1; j <= 5; j++) {
		System.out.print("*");
}
	System.out.println();   	
    }

중첩for문을 사용하여 안쪽 for문에 *가 5개가 넘어가면

바깥 for문으로 System.out.println(); 줄내림을 해준다.

 


문제 2

 

System.out.println("----------------");
System.out.println("*");
System.out.println("**");
System.out.println("***");
System.out.println("****");
System.out.println("*****");
System.out.println("위의 별을 for문을 이용해 찍어보세요.");
for(int i =1; i <= 5; i++) {
 for(int j = 1; j <= i; j++ ) {
	System.out.print("*");
}
 System.out.println();
}

 


문제 3

System.out.println("----------------");
System.out.println("*****");
System.out.println("****");
System.out.println("***");
System.out.println("**");
System.out.println("*");
System.out.println("위의 별을 for문을 이용해 찍어보세요.");
//방법 1
for(int i = 1; i <= 5; i++) {
 for(int j = 1; j <= 5 - (i - 1); j++) {
	System.out.print("*");
}
   System.out.println();
            
// 방법 2
for(int i = 1; i <= 5; i++) {
 for(int j = 5; j >= i; j--) {
	System.out.print("*");
	}
	System.out.println();
}

문제 4

System.out.println("----------------");
System.out.println("    *");
System.out.println("   **");
System.out.println("  ***");
System.out.println(" ****");
System.out.println("*****");
System.out.println("위의 별을 for문을 이용해 찍어보세요.");
for(int i = 1; i <= 5; i++) {
 for(int j = 1; j <= 5; j++) {
	if(j <= 5 - i) {
	System.out.print(" ");
}else {
System.out.print("*");
 }
}
 System.out.println();
}

문제 5

System.out.println("----------------");
System.out.println("    *");
System.out.println("   ***");
System.out.println("  *****");
System.out.println(" *******");
System.out.println("*********");
System.out.println("위의 별을 for문을 이용해 찍어보세요.");
//방법1
for(int i = 1; i <=5; i++) {
	for(int j = i; j <= 4; j++) {
		System.out.print(" ");
}
	for(int j = 1; j <=i; j++) {
		System.out.print("*");
}
	for(int j = 1; j <= i-1; j++) {
		System.out.print("*");
}
System.out.println();
}


//방법2
for(int i = 5; i >= 1; i--) {
	for(int j =1; j <= i -1; j++) {
		System.out.print(" ");
}
	for(int k = 9; k >= i*2 - 1; k--) {
		System.out.print("*");
}
System.out.println();
}

방법 1

 바깥for문에서 안쪽 for문이 충족되면 1칸씩 내려주고 1for문에서 (뛰어쓰기) " "가 4-3-2-1 순으로,

2for문에서 "*"이 1-2-3-4-5, 3for문에서 "*"이0-1-2-3-4 출력됨.

 

방법2

바깥for문에서 5칸 내려주고 안쪽 1for문에서 띄어쓰기 4-3-2-1, 2for문에서 1-3-5-7-9 * 출력!

Comments