728x90
우선 저모양 대로 코드를 짜보자
public class K2 {
public static void main(String[] args) {
for(int i=0; i<3; i++) { //3줄 생성 (2번째 값 i가 반복 횟수)
for(int j=0; j<2-i; j++) { //공백 생성 (2번째 값 처음에 왼쪽 공백 갯수 - 1, 초기에는 0이므로 그값이 그대로 나옴)
System.out.print(" ");
}
for(int j=0; j<2*i+1; j++) { //2번째 공식 : 2의배수 증가*반복횟수 + 1(홀수배열) 별찍기
System.out.print("*");
}
System.out.println(); //줄넘김
}// 프로그램 앞으로 벗어남
for(int i=0; i<2; i++) { //2줄 생성 (2번째 값 i가 반복 횟수)
for(int j=0; j<=i; j++) { //공백 생성
System.out.print(" ");
}
for(int j=3; j>=2*i+1; j--) { //j가 별의 갯수 (2번째 공식 : 2의배수 증가*반복횟수 + 1(홀수배열) 별사라짐)
System.out.print("*");
}
System.out.println();
}
}
}
줄 갯수를 입력받아 출력해보자.
이번은 홀수만 입력 받도록 if문을 사용하였다.
import java.util.Scanner;
public class C {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//변수 선언
int a;
//값 받기
System.out.print("몇줄? >");
a = scan.nextInt();
if(a % 2 == 1) {
//생성
for(int i=0; i<a/2+1; i++) { //3줄 생성 (2번째 값 i가 반복 횟수)
for(int j=0; j<a/2-i; j++) { //공백 생성 (2번째 값 처음에 왼쪽 공백 갯수 - 1, 초기에는 0이므로 그값이 그대로 나옴)
System.out.print(" ");
}
for(int j=0; j<2*i+1; j++) { //2번째 공식 : 2의배수 증가*반복횟수 + 1(홀수배열) 별찍기
System.out.print("*");
}
System.out.println(); //줄넘김
}// 프로그램 앞으로 벗어남
for(int i=0; i<a/2; i++) { //2줄 생성 (2번째 값 i가 반복 횟수)
for(int j=0; j<=i; j++) { //공백 생성
System.out.print(" ");
}
for(int j=a-2; j>=2*i+1; j--) { //j가 별의 갯수 (2번째 공식 : 2의배수 증가*반복횟수 + 1(홀수배열) 별사라짐)
System.out.print("*");
}
System.out.println();
scan.close();
}
}else if(a % 2 == 0) {
System.out.print("홀수만 입력하시오... 짝수시,프로그램이 종료됩니다.");
scan.close();
}
}
}
728x90
'프로그래밍 > JAVA' 카테고리의 다른 글
자바 역방향 피라미드 별찍기로 그리기 (0) | 2022.11.29 |
---|---|
자바 피라미드 별찍기로 그리기 (0) | 2022.11.29 |
자바 사각형 별찍기로 그리기 (0) | 2022.11.29 |
자바 3개의 정수를 입력 받아 큰 수부터 출력 (0) | 2022.11.29 |
for문 (0) | 2022.11.28 |