将2位数字设为3位数字并反转

时间:2015-11-26 03:45:22

标签: java reverse

99099并将其反转= 990

这是我的代码,但它没有更改number。为什么呢?

int number = 99;
String strI = String.format("%03d", number);
new StringBuilder(strI).reverse().toString();
number = Integer.parseInt(strI);
return number;

4 个答案:

答案 0 :(得分:6)

您没有将toString的结果分配回strI

我想你想要

strI = new StringBuilder(strI).reverse().toString();

答案 1 :(得分:2)

String strI = String.format("%03d", number);
strI = new StringBuilder(strI).reverse().toString(); //Capture the result into strI
number = Integer.parseInt(strI);
return number;

答案 2 :(得分:2)

备用非字符串版本(更快):

int number = 99, result = 0;
for (int i = 0; i < 3; i++, number /= 10)
    result = result * 10 + number % 10;
return result;

答案 3 :(得分:1)

您必须将StringBuilder的输出分配给变量,并将该变量用于整数解析。

示例

public class Reverse {
    public static void main(String args[]) {
        String s = String.format("%03d", 99);
        String o = new StringBuilder(s).reverse().toString();
        int number = Integer.parseInt(o);
        System.out.println(number);
    }
}