Java中的反向整数

Java中的反向整数,java,integer,reverse,Java,Integer,Reverse,下面是我用来翻转给定整数并显示翻转结果的代码。它运行,但我有问题时,数字小于两位数。它显然不能被翻转。我想让循环成为一个if-else,声明“if数是两位数或更多的倒数。”“else声明整数需要是两位数或更多的位数。”我该怎么做呢 import java.util.Scanner; public class ReverseInteger { public static void main(String[] args) { Scanner input = new Sca

下面是我用来翻转给定整数并显示翻转结果的代码。它运行,但我有问题时,数字小于两位数。它显然不能被翻转。我想让循环成为一个if-else,声明“if数是两位数或更多的倒数。”“else声明整数需要是两位数或更多的位数。”我该怎么做呢

import java.util.Scanner;

public class ReverseInteger {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Enter an integer that you would like to have reversed: ");
        int number = input.nextInt();

        reverse(number);
    }

    public static void reverse(int userInteger)
    {
        int tempDigit = 0;

        while (userInteger > 0){

            tempDigit = userInteger % 10;
            System.out.print(tempDigit);
            userInteger = userInteger / 10;
        }
    }
}

我试图让它明白01可以转换成10。这需要代码理解userInteger不止一个数字,但我似乎不知道如何做到这一点。。。任何关于如何让我可以得到这两个数字检查,并执行相应的循环的想法将不胜感激

我建议使用
String.valueof(int.tocharray()
并反向循环以组成一个
新字符[]
。然后使用
Integer.parseInt(字符串)

公共静态无效反向(int n)
{
内部温度=0;
整数计数=0;
而(n!=0)
{
如果(n%10==0)计数++;
温度=温度*10+n%10;
n/=10;
}
for(int i=0;i
使用
Integer.toString
方法将int转换为字符串,并将其保存为字符串。声明稍后将用作输出的字符串。启动一个for循环,该循环从头到尾遍历数字(已转换为字符串)。它将每个字符从头到尾添加到输出字符串中。这将导致输出字符串与数字字符串相反。然后只需使用
Integer.parseInt
方法转换输出字符串并返回
int

代码应该如下所示:

public static int reverse(int n)
{
    String number = Integer.toString(n);
    String output;
    for(int i = number.length()-1; i >= 0; i--)
         output += number.charAt(i);
    return Integer.parseInt(output);
}

您可以为特殊消息测试
userInteger>9
,也可以作为while循环中的条件测试(然后打印循环后的剩余数字)
while(userInteger>9){..}System.out.print(userInteger)“当数字小于两位数时。它显然不能翻转。”从技术上讲,你错了。。。1的反面是1!2的倒数是2。我知道它会翻转到相同的值。我只是想让代码中有更多的逻辑,使它看起来更深入地反转整数。“我试图让它理解01可以转换为10。”不要直接打印到控制台。。。将tempDigit附加到字符串和整数中。pasrseInt(str)不能在整数中存储“05”。您必须使用字符串,然后才能使用String.length()。我试图使用提供的代码并进行编辑以在代码中工作,但字符串输出出现错误;声明它无法初始化。我试图让它成为一个值,但它也失败了,我在你的代码中看到了登录名,这似乎正是我要寻找的。根据@SrinathGanish所说,它需要一个字符串来计算空格数。然后,如果可能的话,转换。知道字符串输出失败的原因吗?更改
字符串输出
字符串输出=”
public static int reverse(int n)
{
    String number = Integer.toString(n);
    String output;
    for(int i = number.length()-1; i >= 0; i--)
         output += number.charAt(i);
    return Integer.parseInt(output);
}