带前导零Java的Parseint

带前导零Java的Parseint,java,Java,我有一个字符串,例如“1024”,我需要从中删除一个字符,如下所示: 024 124 104 102 在我必须找到最小值之后,我的最小值是024,我想把它插入一个数组,或者向量,不管什么 所以,我的代码是: void generateMin() { String number = "1024"; Vector<Integer> variations = new Vector<Integer>(); f

我有一个字符串,例如“1024”,我需要从中删除一个字符,如下所示: 024 124 104 102

在我必须找到最小值之后,我的最小值是024,我想把它插入一个数组,或者向量,不管什么

所以,我的代码是:

void generateMin() {
        String number = "1024";

        Vector<Integer> variations = new Vector<Integer>();

        for (int i = 0; i < number.length(); i++) {
            String variation = number.replace(number.charAt(i), '\0');
            int numberVariation = Integer.parseInt(variation);
            variations.add(numberVariation);
        }
}

它返回24,没有错误,但是我得到了一个错误,所以,你能帮我吗?问题是什么?

错误指定
NumberFormatException
用于
“024”
,因为未删除字符,请尝试此操作以获取变体:

String variation = number.substring(0,i) + number.substring(i+1);

该错误指定
NumberFormatException
用于
“024”
,因为字符未被删除,请尝试此操作以获取变体:

String variation = number.substring(0,i) + number.substring(i+1);

您是否尝试用“”(空字符串)替换?@NormR,我尝试过,它不起作用orry,添加此项可将charAt值转换为String:Character.toString(您尝试过用“”(空字符串)替换吗?@NormR,我尝试过,它不起作用orry,添加此项可将charAt值转换为String:Character.toString(请考虑使用<代码> ARAYLIST < /COD>而不是<代码> vector < /代码>为什么使用<代码>替换()/<代码>?为什么要替换为<代码> 0?<代码>?我认为它们中的任何一个都不做你所做的事情。例如,如果代码>数字=“121”。,然后循环的第一次迭代将
1
替换为
\0
,结果是
number=“\u00002\u0000”< /代码>,这不是一个有效的数字,因为<代码> NUL字符不是一个有效的数字。同时请注意它是如何同时替换这两个的。请考虑使用<代码> ARARYLIST/<代码>而不是<代码> vector < /代码>为什么使用<代码>替换()
?为什么要替换为
\0
?我不认为这两个函数都做了你想做的事情。例如,如果
number=“121”
,则循环的第一次迭代将
1
替换为
\0
,结果是
number=“\u00002\u0000”
,它不是有效的数字,因为
NUL
字符不是有效的数字。还要注意它是如何同时替换两个1的。