不使用库的反向数字 import java.util.Scanner; 公共班机 { 公共静态void main(字符串[]args) { 扫描仪输入=新扫描仪(System.in); 对于(int i=0;i

不使用库的反向数字 import java.util.Scanner; 公共班机 { 公共静态void main(字符串[]args) { 扫描仪输入=新扫描仪(System.in); 对于(int i=0;i,java,reverse,Java,Reverse,所有数字的反转效果都很好,但我对反转以零结尾的数字有问题,例如,像10000这样的数字,而不是反转结果为00001,它给出的结果是1,这不是问题想要的,有没有一种使用整数或字符串的方法是最好和更简单的方法?谢谢尝试字符串概念的反转 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(Sys

所有数字的反转效果都很好,但我对反转以零结尾的数字有问题,例如,像
10000
这样的数字,而不是反转结果为
00001
,它给出的结果是
1
,这不是问题想要的,有没有一种使用整数或字符串的方法是最好和更简单的方法?谢谢

尝试字符串概念的反转

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);

        for (int i = 0; i < 4; i++)
        {
            int number = input.nextInt();

            int reverse = 0;
            while (number != 0)
            {
                reverse = reverse * 10;
                reverse = reverse + number % 10;
                number = number / 10;
            }
            System.out.println(reverse);
       }
   }
}
String s=“10000”;
字符串n=“”;

对于(int i=0;i您也可以使用
StringBuilder
解决它。它已经有了一个名为
reverse
的方法:

    String s ="10000";
    String n= "";
    for(int i=0; i<s.length(); i++){
      n = s.charAt(i) + n;
    }
    System.out.println(n);

除了
0
本身之外,您不能有一个以
0
开头的整数。因此您必须使用字符串或其他数据结构。

您可以创建一个变量
长度
,并使用
System.out.printf
格式化输出

使用
%0+length+d
,它将在左侧添加
0
,使输出具有此
长度

public String reverseInput(int number) {
    String s = Integer.toString(number);
    return new StringBuilder(s).reverse().toString();
}
import java.util.Scanner;
公共班机
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
对于(int i=0;i<4;i++)
{
int number=input.nextInt();
int反向=0;
int length=String.valueOf(number.length();
while(数字!=0)
{
反向=反向*10;
反向=反向+数字%10;
数字=数字/10;
}
System.out.printf(“%0”+长度+d”,反向);
}
}
}

在字符串中执行同样的操作请详细说明谢谢检查我的答案因此你正在通过stackoverflow的人员为你做练习来学习java。是你做了练习,还是我发布了我现在编写的代码,因为我有一个无法问的问题??为什么这个问题会被命名为“数字”你为什么不读这个问题?OP从来没有说过他不允许使用字符串!为什么这个问题的标题可能是“数字”?由于您必须打印输出,它与是否使用数字或字符串来实现它无关,并且如果您仅使用整数,则无法保留前导零,因此您必须使用字符串,即使您发现某些类执行此操作,您也将间接使用字符串。即使您位于数字区域,它也不会保留前导零事件:您需要将数字转换为字符串,然后使用它。这取决于您使用该概念的技能。
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);

        for (int i = 0; i < 4; i++)
        {
            int number = input.nextInt();

            int reverse = 0;
            int length = String.valueOf(number).length();
            while (number != 0)
            {
                reverse = reverse * 10;
                reverse = reverse + number % 10;
                number = number / 10;
            }
            System.out.printf("%0" + length + "d", reverse);
       }
   }
}