JAVA STRING试题?

来源:百度知道 编辑:UC知道 时间:2024/06/30 13:51:49
设计一个方法,接收一个四位整数,然后此方法判断这个4位数的9倍是该4位数的反序数。如:4位数的1089的9倍是9801。9801是1089的反序数。最后把具有这种特性的4位数全都打印出来。

程序如下,谨供参考.

public class ReverseInteger {

public static void printAll() {
// 计算出上限来提高程序的效率,这里的max的取值原则是
// 当i>max时i*9大于9999即不再是四位数
int max = 10000 / 9;// 计算上限,满足最大条件的四位数
int inverseNum;
StringBuilder str;

for (int i = 1000; i <= max; i++) {
// 下面两步算出数字i的反序数
str = new StringBuilder(String.valueOf(i));
inverseNum = Integer.valueOf(str.reverse().toString());

// 如果i*9等于i的反序数,则打印出这个数
if (i * 9 == inverseNum) {
System.err.println(i + "<->" + inverseNum);
}
}
}

public static void main(String[] args) {
printAll();// 调用函数
}
}