Java 为什么';我倒整数的方法错了吗?

Java 为什么';我倒整数的方法错了吗?,java,string,algorithm,debugging,integer,Java,String,Algorithm,Debugging,Integer,我需要反转一个整数,在这种情况下,123应该变成321。我将int转换为字符串,反转字符串,将其转换回int,然后返回它,但我如何得到错误 解决这个问题的好办法是什么 这是我的密码: public static int solution(int x) { String s = Integer.toString(x); String result = " "; int ans = 0; for(int i = s.length() - 1; i >= 0;

我需要反转一个整数,在这种情况下,
123
应该变成
321
。我将int转换为字符串,反转字符串,将其转换回int,然后返回它,但我如何得到
错误

解决这个问题的好办法是什么

这是我的密码:

public static int solution(int x) {
    String s = Integer.toString(x);
    String result = " ";
    int ans = 0;

    for(int i = s.length() - 1; i >= 0; i--) {
        result += s.charAt(i);
    }

    ans = Integer.parseInt(result);

    return ans;
}


public static void main(String args[]) {
    int x = 123;

    System.out.print(solution(x)) 
}
这是我的
错误

Exception in thread "main" java.lang.NumberFormatException: For input string: " 321"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:638)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at Node.solution(Node.java:28)
at Node.main(Node.java:47)

不要在开头添加空白:

String result = " ";
使用空字符串

String result = "";

而且,与问题无关,您也可以通过以下方式实现:

int x = 123;
StringBuilder stringBuilder = new StringBuilder(x);
int y = Integer.parseInt(stringBuilder.reverse().toString());

不要在开头添加空白:

String result = " ";
使用空字符串

String result = "";

而且,与问题无关,您也可以通过以下方式实现:

int x = 123;
StringBuilder stringBuilder = new StringBuilder(x);
int y = Integer.parseInt(stringBuilder.reverse().toString());

不需要冗余转换为字符串,反之亦然。
Python代码(注意前导零消除):


不需要冗余转换为字符串,反之亦然。
Python代码(注意前导零消除):