English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 대상지향적(I)

Java 대상지향적(II)

Java 대상지향적(III)

Java 예외 처리

Java 리스트(List)

Java Queue(큐)

Java Map 셋

Java Set 셋

Java 입력/출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 프로그램이 숫자가 회문인지 확인

Java 예제 전체

이 프로그램에서는 Java를 사용하여 숫자가 회문인지 확인하는 방법을 배웁니다. 이는 for와 while 반복문을 사용하여 완성됩니다.

예제1:이 프로그램은 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를 비교합니다. 만약 일치하면 회문수입니다. 일치하지 않으면 회문수가 아닙니다.

다음은 실행 단계입니다:

회문 실행 단계
numnum != 0remainderreversedInteger
121true10 * 10 +1 = 1
12true21 * 10 + 2 = 12
1true112 * 10 +1 = 121
0false
-121

예제2:이 프로그램은 for 반복문을 사용하여 회문을 확인하는 프로그램입니다.

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을 확인합니다.

Java 예제 전체