728x90
반응형
1. 피라미드 만들기
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("원하는 행 입력: ");
int row = Integer.parseInt(reader.readLine());
for (int i=0; i<row; i++) {
for (int j=1; j<row-i; j++) {
System.out.print(" ");
}
for (int j=0; j<i*2+1; j++) {
System.out.print("*");
}
System.out.println();
}
//output
원하는 행 입력: 5
*
***
*****
*******
*********
[해설]
1번째 for문
- 입력값(row) 만큼 행 루프
2번째 for문 : j < row-i
- 공백은 5행 기준으로, 1행 = 4 , 2행 = 3.... 즉 공백은 한개씩 줄어간다.
3번째 for문 : j < i*2+1
- 별(*) 1개 시작으로 2개씩 증가, 즉 별의 개수는 홀수
2. 역 피라미드 만들기
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("원하는 행 입력: ");
int row = Integer.parseInt(reader.readLine());
for (int i=row; i>0; i--) {
for (int j=row-i; j>0; j--) {
System.out.print(" ");
}
for (int j=i*2-1; j>0; j--) {
System.out.print("*");
}
System.out.println();
}
//output
원하는 행 입력: 5
*********
*******
*****
***
*
[해설]
1번째 for문 : i = row
- 입력값 row 만큼 루프를 돌린다.
2번째 for문 : j = row-i
- 공백이 첫행부터 마지막행까지 1씩 점점 늘어남으로 초기값 row-i 에서 감소 시킨다.
3번째 for문 : j = i*2-1
- 별(*)시작은 공백없이 입력값5 기준으로, 별은 9개->7개->5개.... 즉 2개씩 감소
- 1번째 for문에서 i=row로 지정했기때문에 i값 감소할 때 마다, j=9 -> j=7 -> j=5 ...
728x90
반응형
'개발 > Java' 카테고리의 다른 글
[Java] 데이터 타입 Integer와 Int의 차이 (0) | 2021.10.03 |
---|---|
Java 파일 입출력 + 컬렉션을 이용해서 메모장 만들기 (0) | 2021.05.01 |
Java 반복문 - 다중 for문 별 찍기 (다이아몬드) (0) | 2021.04.27 |
Java 반복문 - 다중 for문 별 찍기 (직각삼각형) (2) | 2021.04.26 |
프레임워크(Framework) & 라이브러리(Library) (0) | 2021.03.03 |
댓글