✅ 문제

사용자에게 별의 수를 입력받아 배열 인덱스의 수 만큼 별 찍기
✅ 코드
import java.util.Scanner;
public class bonus04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] cc = new int[5];
// 반복문으로 숫자 입력 받기
for (int i = 0; i < cc.length; i++) {
System.out.print(i + "번째 별의 수 : ");
cc[i] = sc.nextInt();
}
// 배열 순회
for (int i = 0; i < cc.length; i++) {
System.out.print(cc[i] + ":");
// 별 출력
for (int j = 0; j < cc[i]; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
일반 별찍기보다 오히려 쉽다. 입력받은 숫자를 배열에 저장하고
9 : *********
이 부분을 두 구간으로 나누어서 '숫자 :' 과 '*********' 를 따로 출력하는 코드를 짜 주었다.
숫자는 배열의[i] 번째 인덱스에 담겨 있으므로 cc[i] + " : " 를 해 주고 별은 다시 포문을 돌려서 0부터 배열의[i]번째 인덱스에 담긴 숫자의 길이만큼 *를 출력해주면 된다. 이 때 한 줄로 붙여서 출력해야 하므로 개행 없는 System.out.print() 메서드를 쓴다. 그리고 안쪽 포문 출력이 한 줄 끝날 때마다 개행 메서드로 줄바꿈을 해 준다.
- Scanner 클래스를 사용하여 입력을 받기 위해 java.util.Scanner를 임포트하고, Scanner 객체 생성
- 크기가 5인 정수 배열 cc를 선언
- for 루프를 사용하여 사용자로부터 다섯 개의 정수를 입력 받고, 각 정수를 배열에 저장
- 배열을 순회하면서 각 요소에 해당하는 개수만큼 별을 출력(바깥 포문)
- 내부 for 루프를 사용하여 각 요소에 저장된 값만큼 별을 출력(안쪽 포문)
- 한 줄 출력이 끝나면 개행
'코딩테스트 > JavaFestival(스마트인재개발원)' 카테고리의 다른 글
| [자바페스티벌] 보너스6번 - 정수 base를 n번 곱한 값을 반환하는 메서드 powerN을 구현 (0) | 2024.04.23 |
|---|---|
| [자바페스티벌] 보너스5번 - 5개의 정수를 입력 받아 오름차순 정렬하여 출력하기 (0) | 2024.04.23 |
| [자바페스티벌] 보너스3번 - 연산자를 입력받아 연산 결과값을 반환하는 cal 메소드 계산기 (0) | 2024.04.23 |
| [자바페스티벌] 보너스2번 - 가운데 글자 구하기 (0) | 2024.04.23 |
| [자바페스티벌] 보너스1번 - A-B를 출력하다가 A와 B 입력이 모두 0이면 종료되는 프로그램 (0) | 2024.04.23 |