작성
·
241
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
피라미드를 찍을 때 for을 두개만 이용해서 가능하시다고 하셨는데. 어떻게 해야하나요?
처음에 for을 4개를 썼다가 강사님 말씀 듣고 for을 3개로 줄였는데, 도무지 2개로는 못하겠슴다...
아래는 제가해본 코드입니다.
package loop;
public class LoopEx8 {
/* public static void main(String[] args) {
int rows = 9;
for (int i = 1; i <= rows; i++ ) {
for (int k = rows - i; k >= 1; k--) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
for (int h = 1; h <= i -1; h++) {
System.out.print("* ");
}
System.out.println();
}
} */
public static void main(String[] args) {
int rows = 9;
for (int i = 1; i <= rows; i++) {
for (int j = rows; j >= i + 1; j--) {
System.out.print(" ");
}
System.out.print("* ");
for (int k = i; k >= 2; k--) {
System.out.print("* * ");
}
System.out.println();
}
}
}
답변 1
1
안녕하세요. 김대경님, 공식 서포터즈 y2gcoder입니다.
피라미드를 찍을 때 for을 두개만 이용해서 가능하시다고 하셨는데. 어떻게 해야하나요?
=> 혹시 어떤 부분을 보고 이렇게 생각하셨는지 말씀해주시면 감사하겠습니다! 혹시 제가 남긴 답변(클릭)을 보고 말씀하시는 거라면 for 문 2개가 아니라, 이중 for 문을 사용할 수 있으면 가능하다는 취지로 말씀드린 것이었습니다! 오해하셨다면 죄송합니다.
이중 for문이라는 것은 for문이 총 2개가 아니라 작성해주신 것처럼 for문 내에 for문이 있는 2중첩 for문을 말씀드린 것입니다!
저도 오랜만에 피라미드 별찍기를 구현해본 코드를 올려보겠습니다!
public class Pyramid {
public static void main(String[] args) {
int rows = 5;
for(int i=0; i<rows; i++) {
for(int j=0; j<rows-i-1; j++) {
System.out.print(" "); // 공백 출력
}
for(int k=0; k<(2*i+1); k++) {
System.out.print("*"); // 별 출력
}
System.out.println(); // 줄바꿈으로 다음 줄로 이동
}
}
}
감사합니다.