}
int a=0;
int gewei;
int shiwei;
int baiwei;
int qianwei;
gewei=a%10;
shiwei=a/10%10;
baiwei=a/100&10;
qianwei=a/1000;
Scanner input=new Scanner (System.in);
System.out.println("请输入一个100-10000之间的数");
a=input.nextInt();
if((a>99&&a<999)&&(gewei==baiwei)){
System.out.println(a+"这个数是回文数!");
}
else if ((a>100&&a<10000)&&(gewei==qianwei&&shiwei==baiwei)){
System.out.println(a+"这个数是回文数!");
}
else {
System.out.println("这个数不是回文数");
}
}
}
那错呢,我输入什么数都是回文数
a=input.nextInt();
取得a之后,重新计算
gewei=a%10;
shiwei=a/10%10;
baiwei=a/100&10;
qianwei=a/1000;
在你输入a之前,你的 gewei=a%10; shiwei=a/10%10; baiwei=a/100&10; qianwei=a/1000; 已经有结果,也就是说 这几个已经计算出值全部为0。 而下面没有对这几个变量赋值。 解决办法。在键盘输入a之后在对这些变量赋值。
gewei=a%10;
shiwei=a%100/10;
baiwei=a%1000/100;
qianwei=a%10000/1000;
wanwei=a/10000;
if((a>100&&a<1000)&&(gewei==baiwei)){
System.out.println(a+"这个数是回文数!");
else if ((a>1000&&a<10000)&&(gewei==wanwei&&shiwei==qianwei)){
System.out.println(a+"这个数是回文数!");
else
这样试试
int a=0;
int gewei=0;
int shiwei=0;
int baiwei=0;
int qianwei=0;
Scanner input=new Scanner (System.in);
System.out.println("请输入一个100-10000之间的数");
a=input.nextInt();
gewei=a%10;
shiwei=a/10%10;
baiwei=a/100%10;
qianwei=a/1000;
if((a>99&&a<999)&&(gewei==baiwei)){
System.out.println(a+"这个数是回文数!");
}
else if ((a>100&&a<10000)&&(gewei==qianwei&&shiwei==baiwei)){
System.out.println(a+"这个数是回文数!");
}
else {
System.out.println(a+"这个数不是回文数!");
}