用java编写一程序,找出100到1000内的所有回文数,所谓回文数,就是正读和反读都是一样的数,例如:131

2024-11-30 07:57:43
推荐回答(5个)
回答1:

提供思路:
对于100到1000的每个数做如下处理;
(1)将该数变成字符串后倒置(string.reverse());
(2)和原数进行比较,若相同,则是回文数,否则不是

回答2:

public class Test1 {
public static void main(String[] args) {
for (int i= 100 ;i<1000;i++) {
if(requiredNum(i)){
System.out.println(i);
}
}
}
static boolean requiredNum(Integer i){
StringBuffer sb = new StringBuffer(String.valueOf(i));
return sb.toString().equals(sb.reverse().toString());
}
}

回答3:

public class Rt {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
if (isNum(i)) {
System.out.println(i);
}
}
}

private static boolean isNum(int num) {
int[] array = new int[3];
int temp = num;
for (int i = 0; i < array.length; i++) {
array[i] = temp % 10;
temp = temp / 10;
}
if (array[0] == array[2]) {
return true;
}
return false;
}

}

回答4:

楼上答得不错

回答5:

public static void main(String[] args) {

for(int i=100;i<1000;i++){
int bw =i/100;//百位上的数字
int sw = (i-bw*100)/10;//十位上的数字
int gw = i-bw*100-sw*10;//个位上的数字
//第一种办法
if((gw*100+sw*10+bw)==i){
System.out.print(i+"\t");
}
//第二种办法
if(bw==gw){
System.out.print(i+"\t");
}
}
}