반응형
Java로 주어진 숫자가 회문(Palindrome)인지 확인하는 프로그램을 쉽게 이해할 수 있도록 설명해드릴게요. 회문은 앞에서 읽든, 뒤에서 읽든 똑같은 숫자나 문자열을 말합니다. 예를 들어, 121이나 1221은 회문이지만, 123은 회문이 아닙니다.
1. 회문이란?
회문은 좌우 대칭인 숫자나 단어입니다. 즉, 뒤집었을 때도 원래의 숫자와 같은 숫자를 회문이라고 합니다. 예를 들어:
- 회문 예시: 121, 12321, 1001
- 회문이 아닌 예시: 123, 1223, 10
2. 프로그램의 목표
주어진 숫자가 회문인지 확인하는 프로그램을 만들어보는 것입니다. 이를 위해 숫자를 뒤집어서 원래 숫자와 비교하면 됩니다. 과정은 다음과 같습니다:
- 숫자를 입력받고,
- 그 숫자를 뒤집어서,
- 원래 숫자와 뒤집힌 숫자가 같은지 확인합니다.
3. Java 코드 예시
아래는 Java로 회문을 확인하는 간단한 프로그램입니다:
import java.util.Scanner;
public class PalindromeCheck {
public static void main(String[] args) {
// 1. 사용자로부터 숫자를 입력받음
Scanner scanner = new Scanner(System.in);
System.out.print("숫자를 입력하세요: ");
int number = scanner.nextInt();
// 2. 숫자를 뒤집는 과정
int originalNumber = number; // 입력받은 숫자를 저장
int reversedNumber = 0; // 뒤집힌 숫자를 저장할 변수
while (number != 0) {
int lastDigit = number % 10; // 마지막 자릿수를 구함
reversedNumber = reversedNumber * 10 + lastDigit; // 자릿수를 뒤집어서 새로 저장
number /= 10; // 숫자를 10으로 나누어 다음 자릿수로 이동
}
// 3. 원래 숫자와 뒤집힌 숫자가 같은지 확인
if (originalNumber == reversedNumber) {
System.out.println(originalNumber + "는 회문입니다.");
} else {
System.out.println(originalNumber + "는 회문이 아닙니다.");
}
}
}
4. 코드 설명
- Scanner: 사용자로부터 숫자를 입력받기 위해 Scanner를 사용합니다. 입력된 숫자는 number 변수에 저장됩니다.
- 숫자 뒤집기:
- number % 10은 숫자의 마지막 자릿수를 가져옵니다.
- 이 자릿수를 reversedNumber에 더해줍니다. 기존의 reversedNumber를 10배 하여 자릿수를 이동시키고, 마지막 자릿수를 덧붙입니다.
- number /= 10을 사용하여 숫자를 한 자리씩 줄입니다. 즉, 마지막 자릿수를 제거하는 작업입니다.
- 비교: 마지막으로, 원래의 숫자 originalNumber와 뒤집힌 숫자 reversedNumber를 비교하여 같으면 회문이라고 출력하고, 그렇지 않으면 회문이 아니라고 출력합니다.
5. 코드 실행 예시
숫자를 입력하세요: 121
121는 회문입니다.
숫자를 입력하세요: 123
123는 회문이 아닙니다.
6. 프로그램의 흐름을 더 자세히 설명
- 숫자 입력: 사용자가 숫자를 입력하면, 그 숫자가 number에 저장됩니다.
- 숫자 뒤집기: while 반복문을 통해 숫자의 자릿수를 하나씩 뒤집어 reversedNumber에 저장합니다. 예를 들어, 숫자가 123이면:
- 처음에는 3을 얻고, reversedNumber는 3이 됩니다.
- 그다음에는 2를 얻고, reversedNumber는 32가 됩니다.
- 마지막으로 1을 얻고, reversedNumber는 321이 됩니다.
- 비교: originalNumber와 reversedNumber를 비교해서 같으면 회문이고, 다르면 회문이 아닙니다.
7. 응용할 수 있는 방법
이 프로그램은 숫자뿐만 아니라 문자열 회문 검사로도 확장할 수 있습니다. 예를 들어, 문자열을 입력받아서 문자열을 뒤집고 비교하는 방식으로 문자의 회문을 확인할 수 있습니다.
8. 요약
- 회문(Palindrome)은 뒤집어도 동일한 숫자나 문자열입니다.
- 이 프로그램은 숫자를 입력받아 그 숫자를 뒤집고, 원래 숫자와 비교하여 회문인지 확인합니다.
- Scanner로 숫자를 입력받고, 반복문과 나머지 연산(%)을 이용해 숫자를 뒤집습니다.
이 설명과 코드를 통해 Java로 회문을 확인하는 프로그램을 쉽게 이해할 수 있었기를 바랍니다!
반응형
'자바(Java)' 카테고리의 다른 글
자바(Java)로 숫자를 뒤집는 프로그램을 작성하는 방법 (1) | 2024.10.15 |
---|---|
Java에서 주어진 숫자의 팩토리얼을 구하는 프로그램 (0) | 2024.10.14 |
Java로 Armstrong Number를 구하는 프로그램 (0) | 2024.10.14 |
Java 프로그램으로 숫자의 각 자릿수를 더하는 방법 (0) | 2024.10.14 |
Java program to check whether a number is prime or not (1) | 2024.09.22 |