안녕하세요, 작가 J입니다. 이번에는 숫자를 입력받아 3의 배수인 숫자를 출력하는 프로그램을 작성해 보겠습니다. 문제를 분석하고 10개의 숫자를 입력받아 3의 배수를 출력하는 과정을 자세히 설명하겠습니다.
[Java Festival 17] 3의 배수인 숫자 출력하기
숫자를 입력 받아 3의 배수인 숫자를
출력하는 프로그램을 작성하세요.
문제 분석
이 문제는 사용자로부터 10개의 숫자를 입력받고, 그 중 3의 배수인 숫자를 출력하는 프로그램을 작성하는 것입니다. 이를 위해 다음과 같은 단계를 수행합니다:
- 사용자로부터 10개의 정수를 입력받습니다.
- 각 정수를 확인하여 3의 배수인지 판단합니다.
- 3의 배수인 숫자를 출력합니다.
코드 풀이
코드 풀이 1: 기본적인 반복문과 조건문을 이용한 방식
import java.util.Scanner;
public class Ex17 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] numbers = new int[10];
// 사용자로부터 10개의 정수 입력받기
for (int i = 0; i < 10; i++) {
System.out.print((i + 1) + "번 째 정수 입력>>");
numbers[i] = sc.nextInt();
}
System.out.print("3의 배수 : ");
// 3의 배수 출력하기
for (int i = 0; i < 10; i++) {
if (numbers[i] % 3 == 0) {
System.out.print(numbers[i] + " ");
}
}
sc.close();
}
}
코드 설명
1. 사용자 입력 받기
사용자로부터 10개의 정수를 배열에 저장합니다.
- Scanner sc = new Scanner(System.in);: Scanner 객체를 생성하여 사용자 입력을 받습니다.
- int[] numbers = new int[10];: 10개의 정수를 저장할 배열을 선언합니다.
- for (int i = 0; i < 10; i++): 10번 반복하면서 사용자로부터 정수를 입력받습니다.
- System.out.print((i + 1) + "번 째 정수 입력>>");: 사용자에게 입력을 요청하는 메시지를 출력합니다.
- numbers[i] = sc.nextInt();: 사용자가 입력한 정수를 배열에 저장합니다.
2. 3의 배수 출력하기
배열의 각 요소를 확인하여 3의 배수인 숫자를 출력합니다.
- System.out.print("3의 배수 : ");: 결과를 출력하기 위한 메시지를 출력합니다.
- for (int i = 0; i < 10; i++): 배열의 각 요소를 순회하는 반복문입니다.
- if (numbers[i] % 3 == 0): 현재 요소가 3의 배수인지 확인합니다.
- System.out.print(numbers[i] + " ");: 3의 배수인 숫자를 출력합니다.
코드 풀이 2: 중간 저장소를 사용한 방식
이번에는 3의 배수를 저장할 배열을 사용하여 3의 배수를 출력하는 방법을 보여드리겠습니다.
import java.util.Scanner;
public class Ex17Alternate {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] numbers = new int[10];
int[] multiplesOfThree = new int[10];
int count = 0;
// 사용자로부터 10개의 정수 입력받기
for (int i = 0; i < 10; i++) {
System.out.print((i + 1) + "번 째 정수 입력>>");
numbers[i] = sc.nextInt();
}
// 3의 배수를 찾아 저장하기
for (int i = 0; i < 10; i++) {
if (numbers[i] % 3 == 0) {
multiplesOfThree[count] = numbers[i];
count++;
}
}
// 3의 배수 출력하기
System.out.print("3의 배수 : ");
for (int i = 0; i < count; i++) {
System.out.print(multiplesOfThree[i] + " ");
}
sc.close();
}
}
코드 설명
1. 사용자 입력 받기
사용자로부터 10개의 정수를 배열에 저장합니다.
- Scanner sc = new Scanner(System.in);: Scanner 객체를 생성하여 사용자 입력을 받습니다.
- int[] numbers = new int[10];: 10개의 정수를 저장할 배열을 선언합니다.
- int[] multiplesOfThree = new int[10];: 3의 배수를 저장할 배열을 선언합니다.
- int count = 0;: 3의 배수의 개수를 저장할 변수를 초기화합니다.
- for (int i = 0; i < 10; i++): 10번 반복하면서 사용자로부터 정수를 입력받습니다.
- System.out.print((i + 1) + "번 째 정수 입력>>");: 사용자에게 입력을 요청하는 메시지를 출력합니다.
- numbers[i] = sc.nextInt();: 사용자가 입력한 정수를 배열에 저장합니다.
2. 3의 배수 찾기
배열의 각 요소를 확인하여 3의 배수인 숫자를 multiplesOfThree 배열에 저장합니다.
- for (int i = 0; i < 10; i++): 배열의 각 요소를 순회하는 반복문입니다.
- if (numbers[i] % 3 == 0): 현재 요소가 3의 배수인지 확인합니다.
- multiplesOfThree[count] = numbers[i];: 3의 배수인 숫자를 multiplesOfThree 배열에 저장합니다.
- count++: 3의 배수의 개수를 증가시킵니다.
3. 3의 배수 출력하기
multiplesOfThree 배열에 저장된 3의 배수를 출력합니다.
- System.out.print("3의 배수 : ");: 결과를 출력하기 위한 메시지를 출력합니다.
- for (int i = 0; i < count; i++): multiplesOfThree 배열의 각 요소를 순회하는 반복문입니다.
- System.out.print(multiplesOfThree[i] + " ");: 3의 배수인 숫자를 출력합니다.
마무리
이번 예제에서는 사용자로부터 10개의 숫자를 입력받아 3의 배수인 숫자를 출력하는 두 가지 방법을 배웠습니다. 이를 통해 배열을 사용하여 데이터를 저장하고, 조건문을 사용하여 특정 조건을 만족하는 값을 출력하는 방법을 익힐 수 있었습니다. 저장소를 활용하는 것은 좋은 프로그래밍 방법입니다.
프로그래밍을 시작하는 모든 분께 이 예제가 도움이 되길 바랍니다. 앞으로도 다양한 유형의 문제를 통해 여러분의 학습을 도울 수 있도록 노력하겠습니다. 감사합니다!
'프로그래밍 기초 > Java Festival' 카테고리의 다른 글
[Java Festival] Bonus 04. 배열의 인덱스 수만큼 별 출력하기 (0) | 2024.06.30 |
---|---|
[Java Festival] 18. 중복 없이 숫자를 뽑는 로또 프로그램 (0) | 2024.06.30 |
[Java Festival] Bonus 03. 연산 메소드 작성하기 (0) | 2024.06.30 |
[Java Festival] 16. 8자리 정수의 합 구하기 (0) | 2024.06.29 |
[Java Festival] 15. 특정 수열의 n번째 항까지 출력하기 (0) | 2024.06.29 |