JAVA 다이아몬드 별찍기. 소스코드 및 주석 ) public class Star { public static void main (String[] args) { //방법1: 공백따로 , 나머지 삼각형을 또한번 나누어서 이중 for문 사용(총 6파트로 나누어 생각) //상단 System.out.println("방법 1------------"); for(int i=1; i<=5; i++) { for (int j=1; j<=5-i; j++) { System.out.print(" "); //공백 } for (int j=1; j<=i; j++) { System.out.print("* "); //별반 } for (int j=2; j<=i; j++) { System.out.print("* "); //나머지 별반틈. } System.out.println(); } //하단 for(int i=1; i<=5; i++) { for (int j=1; j<=i; j++) { System.out.print(" "); } for (int j=1; j<=5-i; j++) { System.out.print("* "); } for (int j=3; j>=i; j--) { System.out.print("* "); } System.out.println(); } //방법 2. 공백찍고, 나머지 별 한방에 채우기. (총 4파트로 나누어 생각. ) System.out.println("방법2 ------------"); // 상단 for(int i=1; i<=5; i++) { for (int j=1; j<=5-i; j++) { System.out.print(" "); //공백 } for (int j=1; j<=i*2-1; j++) { //나머지 별 한방에채우기. System.out.print("* "); } System.out.println(); } //하단. for(int i=4; i>0; i--) { //하단 for (int j=4; j>=i; j--) { System.out.print(" "); //공백 } for (int j=1; j<=i*2-1; j++) { System.out.print("* "); } System.out.println(); } } } 다이아몬드 만들기
[해설] - 상단에서 중간값까지의 다중 for문 1개 - 하단(상단 뒤집기) 다중 for문 1개 - 피라미드, 역피라미드 다중 for문 알고리즘을 이용했고, 하단값만 조정해서 풀이했다. |