English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 프로그램에서는 Java를 사용하여 숫자가 회문인지 확인하는 방법을 배웁니다. 이는 for와 while 반복문을 사용하여 완성됩니다.
public class Palindrome { public static void main(String[] args) { int num = 121, reversedInteger = 0, 나머지, originalInteger; originalInteger = num; //반대 숫자는 변수에 저장됩니다 while( num != 0 ) { 나머지 = num % 10; reversedInteger = reversedInteger * 10 + 나머지; num /= 10; } //만약 orignalInteger와 reversedInteger가 일치하면 회문 if (originalInteger == reversedInteger) System.out.println(originalInteger + " 회문입니다."); else System.out.println(originalInteger + " 아니요, 회문이 아닙니다."); } }
이 프로그램을 실행할 때, 출력은 다음과 같습니다:
121 회문입니다.
이 프로그램에서
먼저, 주어진 숫자(num)의 값을 또 다른 정수에 저장합니다originalInteger변수에. 이는 우리가 마지막에 반대 숫자와 원래 숫자의 값을 비교해야 한다는 이유입니다.
그런 다음, num을 0이되까지 while 반복문을 사용하여 반복합니다.
각 반복에서 num의 마지막 자리수는 remainder에 저장됩니다.
그런 다음, 나머지를 reversedInteger에 추가하여 다음 위치 값에 추가합니다(곱하기10)
그런 다음, 나누어10그런 다음, num에서 마지막 자리수를 제거합니다.
마지막으로, reversedInteger와 originalInteger를 비교합니다. 만약 일치하면 회문수입니다. 일치하지 않으면 회문수가 아닙니다.
다음은 실행 단계입니다:
num | num != 0 | remainder | reversedInteger |
---|---|---|---|
121 | true | 1 | 0 * 10 +1 = 1 |
12 | true | 2 | 1 * 10 + 2 = 12 |
1 | true | 1 | 12 * 10 +1 = 121 |
0 | false | - | 121 |
public class Palindrome { public static void main(String[] args) { int num = 11221, reversedInteger = 0, 나머지, originalInteger; originalInteger = num; //정수를 반전하여 변수에 저장합니다 for( ;num != 0; num /= 10 ) { 나머지 = num % 10; reversedInteger = reversedInteger * 10 + 나머지; } //palindrome, 만약 원래 정수와 반대 정수가 같다면 if (originalInteger == reversedInteger) System.out.println(originalInteger + "is a palindrome."); else System.out.println(originalInteger + "is not a palindrome."); } }
이 프로그램을 실행할 때, 출력은 다음과 같습니다:
11221 is not a palindrome.
위 프로그램에서 for 루프를 while 루프 대신 사용합니다.
각 반복에서 num /= 10모두 실행하고 조건 num != 0을 확인합니다.