Как произвести реверс числа (Java)

Дана задача:

Напишите метод, который принимает в качестве параметра положительное целое число и возвращает число с противоположным порядком цифр. Например, для параметра 123 метод возвратит 321, для параметра 120 метод вернет 21.

Вот мое решение:

import java.util.*;
class yprajnenie_16_34 {
static Scanner reader=new Scanner (System.in);
public static void main (String [] args)
{
int x;               // x - принимаемое в качестве параметра положительное число
x=reader.nextInt();
what(x);             // вызов метода типа void
}

public static void what(int x) {
int a;               // В нее будет заносится значение последней цифры в числе x
while (x > 0) {
a=x%10;              // Сначала в переменную a заносится последняя цифра числа x
System.out.print(a); // Затем она выводится на экран
x=x/10;              // А после - число x укорачивается на последний знак
}

Вроде бы условие соблюдено, но фактически нужно, чтобы образовалось новое число с реверсом числа x, и чтобы с этим новым реверснутым числом можно было производить прочие операции.

Не смог придумать, как осуществить такое, поэтому пришел сюда. Помогите!!!


Ответы (1 шт):

Автор решения: Charismatic
public class Test {
    static Scanner reader = new Scanner(System.in);

    public static void main(String[] args) {        
        int x = Integer.parseInt(reader.nextLine());
        System.out.println(what(x));             
    }

    public static int what(int x) {
        String s = String.valueOf(x);
        String result = "";
        for (int i = s.length()-1; i >= 0; i--) {
            result+=s.charAt(i);
        }
        return Integer.parseInt(result);
    }
}

Ответ выше решает твою проблему, но если интересно можно еще сделать таким образом.

→ Ссылка