Нахождение номера палиндрома в java - PullRequest
0 голосов
/ 13 февраля 2020
import java.util.*;
class Example{
    public static void main(String args[]){
        Scanner input=new Scanner(System.in);
        System.out.print("Input a prefer number :");
        int num=input.nextInt();
        int reverse=0;
        while(num!=0){
            int num1=num%10;
            reverse=(reverse*10)+num1;
            num/=10;
        }

        System.out.println("Reverse num is "+reverse);
        if(num==reverse){
            System.out.println("The number is palindrome");
        }else{
            System.out.println("Try again");
        }
    }
}

Я хочу подтвердить, является ли это число палиндромом или нет, когда я ввожу число с клавиатуры. Но я не смог его получить. В 7-й строке моего кода я инициализировал переменную "reverse" «как 0. Так что, когда я ставлю условие в 14-й строке,« реверс »действует как 0. Это то, что должно быть, но я хочу, чтобы« реверс »равнялся значению, которое попадает в строку 10. Что мне делать?

Ответы [ 2 ]

2 голосов
/ 14 февраля 2020

Присваивать num другой переменной при ее изменении

import java.util.*;
class Example{
public static void main(String args[]){
    Scanner input=new Scanner(System.in);
    System.out.print("Input a prefer number :");
    int num=input.nextInt();
    int number  = num ; // assign to anaother variable as num gets changed 
    int reverse=0;
    while(num!=0){
        int num1=num%10;
        reverse=(reverse*10)+num1;
        num/=10;
    }

    System.out.println("Reverse num is "+reverse);
    if(number==reverse){
        System.out.println("The number is palindrome");
    }else{
        System.out.println("Try again");
    }
}

}

0 голосов
/ 14 февраля 2020

Вы могли бы рассмотреть обработку числа как строки.

  1. Это допускает произвольно большие числа.
  2. Затем вы можете использовать StringBuilder для обращения строки.
            Scanner input=new Scanner(System.in);
            System.out.print("Input a preferred number :");
            String str = input.nextLine();
            StringBuilder sb = new StringBuilder(str);
            String reverse = sb.reverse().toString();
            System.out.println("Reverse num is "+reverse);
            if(str.equals(reverse)){
                System.out.println("The number is palindrome");
            }else{
                System.out.println("Try again");
            }
        } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...