Java/Test
Java Test.3 - 별찍기
Marmellata
2023. 3. 17. 17:51
import java.util.Scanner;
public class StarTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println(" 1. 정사각형\n 2. 직삼각형\n 3. 역직삼각형\n 4. 피라미드\n 5. 다이아몬드\n 6. 종료\n\n");
System.out.print("메뉴 선택을 숫자로 입력해주세요 : ");
int input = sc.nextInt();
if (input == 1) {
System.out.print("원하는 사이즈의 숫자를 입력해주세요 : ");
int size = sc.nextInt(); // size 변수에 원하는 값을 입력 받는다.
System.out.println("\n\n");
for(int i = 0; i<size; i++) { // size 만큼 개행 반복
for(int j=0; j<size; j++) { // size 만큼 * 입력 반복
System.out.print("*");
}
System.out.println("");
}
System.out.println("\n\n");
}
else if (input == 2) {
System.out.print("원하는 사이즈의 숫자를 입력해주세요 : ");
int size = sc.nextInt();
System.out.println("\n\n");
// * 이 한개씩 증가하면서 개행으로 보낸다. 라는 식으로 시도
for (int i = 0; i<size; i++) { // size 만큼 개행 반복
for (int j = 0; j <= i; j++) { // for문내 i 만큼 * 입력을 반복
System.out.print("*");
}
System.out.println("");
}
System.out.println("\n\n");
}
else if (input == 3) {
System.out.print("원하는 사이즈의 숫자를 입력해주세요 : ");
int size = sc.nextInt();
System.out.println("\n\n");
// size 만큼 * 을 입력했다가, * 하나씩 감소하며 개행하는 식으로 시도
for (int i = 0; i<size; i++) { // size 만큼 개행 반복 및 별 입력 카운트
for (int j = size; j > i; j--) { // size 만큼 공백 입력후 -- 씩 감소
System.out.print(" ");
}
for (int u = 0; u <= i; u++) { // 공백 입력 뒤에 "*" 입력을 하나씩 증가 반복
System.out.print("*");
}
System.out.println(""); // 공백 + "*" 입력뒤에 개행
}
System.out.println("\n\n");
}
else if (input == 4) {
System.out.print("원하는 사이즈의 숫자를 입력해주세요 : ");
int size = sc.nextInt();
System.out.println("\n\n");
for (int i = 0; i <= size; i++) {
for (int j = size; j >= i; j--) { // 피라미드 좌측 공백 입력
System.out.print(" ");
}
for (int k = 0; k <= i*2; k++) { // 피라미드의 "*" 입력 의도
System.out.print("*");
}
System.out.println("");
}
}
else if (input == 5) {
System.out.print("원하는 사이즈의 숫자를 입력해주세요 : ");
int size = sc.nextInt();
for (int i = 1; i <= size; i++) {//상단 다이아몬드
for (int j = 0; j < size-i; j++) { // 상단 공백
System.out.print(" ");
}
for (int j = i*2-1; j >= 1; j--) { // 상단 별
System.out.print("*");
}
System.out.println();
}
for (int i = 1; i <= size; i++) { // 하단 다이아몬드
for (int j = 0; j < i; j++) { // 하단 공백
System.out.print(" ");
}
for (int j = i+1; j <= (2*size-i)-1; j++) { // 하단 별
System.out.print("*");
}
System.out.println();
}
}
else if (input == 6) {
System.out.println("프로그램을 종료 합니다.");
break;
}
else {
System.out.println("\n잘못된 입력 입니다.\n");
}
}
}
}
출력 초기 화면
1. 정사각형
2. 직삼각형
3. 역직삼각형
4. 피라미드
5. 다이아몬드
6. 종료
메뉴 선택을 숫자로 입력해주세요 :
각 메뉴 출력 결과물
더보기
1. 정사각형
2. 직삼각형
3. 역직삼각형
4. 피라미드
5. 다이아몬드
6. 종료
메뉴 선택을 숫자로 입력해주세요 : 1
원하는 사이즈의 숫자를 입력해주세요 : 5
*****
*****
*****
*****
*****
1. 정사각형
2. 직삼각형
3. 역직삼각형
4. 피라미드
5. 다이아몬드
6. 종료
메뉴 선택을 숫자로 입력해주세요 : 2
원하는 사이즈의 숫자를 입력해주세요 : 5
*
**
***
****
*****
1. 정사각형
2. 직삼각형
3. 역직삼각형
4. 피라미드
5. 다이아몬드
6. 종료
메뉴 선택을 숫자로 입력해주세요 : 3
원하는 사이즈의 숫자를 입력해주세요 : 5
*
**
***
****
*****
1. 정사각형
2. 직삼각형
3. 역직삼각형
4. 피라미드
5. 다이아몬드
6. 종료
메뉴 선택을 숫자로 입력해주세요 : 4
원하는 사이즈의 숫자를 입력해주세요 : 5
*
***
*****
*******
*********
***********
1. 정사각형
2. 직삼각형
3. 역직삼각형
4. 피라미드
5. 다이아몬드
6. 종료
메뉴 선택을 숫자로 입력해주세요 : 5
원하는 사이즈의 숫자를 입력해주세요 : 5
*
***
*****
*******
*********
*******
*****
***
*
1. 정사각형
2. 직삼각형
3. 역직삼각형
4. 피라미드
5. 다이아몬드
6. 종료
메뉴 선택을 숫자로 입력해주세요 : 6
프로그램을 종료 합니다.
별 찍기 과제로 나왔던 걸 작성해봤습니다.
불필요한 부분, 좀더 간결하게 작성할 수 있는 부분이 있을겁니다.
많은 조언 부탁드리겠습니다.