>  기사  >  Java  >  Java에서 정수의 홀수만 뒤집는 방법은 무엇입니까?

Java에서 정수의 홀수만 뒤집는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-03 17:31:03471검색

How to Reverse Only Odd Numbers in an Integer in Java?

Java: 배열을 사용하지 않고 Int 값 바꾸기

코드 설명:

제공한 코드 조각은 while 루프를 사용하여 정수 값을 반전합니다. 작동 방식은 다음과 같습니다.

  • ReversedNum 곱셈: reversedNum 변수는 초기에 0으로 설정됩니다. 루프가 반복될 때마다 reversedNum에 10을 곱하여 기존 항목을 "이동"합니다. 한 자리를 왼쪽으로 거꾸로 뒤집습니다.
  • 입력 모딩: 입력 % 10을 계산하여 입력 숫자의 가장 오른쪽 숫자를 추출합니다. 이렇게 하면 반전된 숫자에 더해질 숫자가 나옵니다.
  • ReversedNum에 추가: 추출된 가장 오른쪽 숫자가 reversedNum에 추가되어 반전된 숫자가 됩니다.
  • 입력 나누기: 마지막으로 입력 숫자를 10으로 나누어 가장 오른쪽 숫자를 제거하고 나머지 숫자로 프로세스를 계속합니다.

홀수만 뒤집기:

주어진 정수에서 홀수만 바꾸려면 다음 단계를 따르세요.

  • 짝수와 홀수를 다른 변수로 분리하세요.
  • 위의 방법으로 홀수 자리를 뒤집어 보세요.
  • 뒤집힌 홀수 자리와 원래 짝수 자리를 합쳐 보세요.

샘플 코드:

<code class="java">public static int reverseOdd(int input) {
    int even = 0;
    int odd = 0;

    // Separate even and odd digits
    while (input > 0) {
        int digit = input % 10;
        if (digit % 2 == 0) {
            even = even * 10 + digit;
        } else {
            odd = odd * 10 + digit;
        }
        input /= 10;
    }

    // Reverse odd digits
    odd = reverseInt(odd);

    // Combine reversed odd and original even digits
    return even + odd;
}

public static int reverseInt(int input) {
    long reversedNum = 0;
    long input_long = input;

    while (input_long != 0) {
        reversedNum = reversedNum * 10 + input_long % 10;
        input_long /= 10;
    }

    if (reversedNum > Integer.MAX_VALUE || reversedNum < Integer.MIN_VALUE) {
        throw new IllegalArgumentException();
    }
    return (int) reversedNum;
}</code>

위 내용은 Java에서 정수의 홀수만 뒤집는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.