gpt4 book ai didi

java - 尝试反转整数的数字时出错

转载 作者:行者123 更新时间:2023-12-01 18:01:13 25 4
gpt4 key购买 nike

我试图将数字反转为 int 数字,但下面提供的代码返回错误:

Exception in thread "main" java.lang.NumberFormatException: For input string: "[null, null, null]"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at Solution.reverseInteger(Solution.java:21)
at Solution.main(Solution.java:30)

我知道应该有一种更简单的方法来回答这个问题,但我选择以我的方式来做。我已经在谷歌上搜索了相当多的时间,但我找不到任何相关的解决方案来解决我的问题。谁能帮我吗?谢谢!

import java.util.*;

class Solution {

/*
* param number: A 3-digit number.
* return: Reversed number.
*/

public int reverseInteger(int number) {
// write your code here
if (number > 1000 || number < 100) {
return -1;
}
String s = Integer.toString(number);
char[] c = s.toCharArray();
String[] b = new String[c.length];

for (int i = s.length() - 1, j = 0; i <= 0; i--, j++) {
b[j] = String.valueOf(c[i]);
}
String h = Arrays.toString(b);
int y = Integer.parseInt(h);
return y;
}

public static void main(String[] args) {
Solution p = new Solution();
int ff = p.reverseInteger(102);
System.out.println(ff);

}
}

最佳答案

问题出在你的 for 上循环。

for (int i = s.length()-1,j =0;i <=0; ...)

您设置 i 的值至

int i = s.length()-1;

但是你的 for 循环仅适用于 i <=0 ,所以它永远不会被输入

即使你有b数组,您不能只将反转的数组字符串转换为 int - 添加以下代码并查看。

    String h = Arrays.toString(b);
System.out.println(h);

尝试迭代b改为字符串数组

关于java - 尝试反转整数的数字时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40777213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com