java程序求回文数结果不对

a18800463352 2018-11-29 10:22:37
import java.util.*;
public class A{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("The number:");
int a = scan.nextInt();
int i=0;
while(a>0){
a=a/10;
i++;
}

boolean result=true;
for(int b=1;b<=(i/2);b++){
int z=a/(int)Math.pow(10,(b-1))%10;
int x=a/(int)Math.pow(10,(i-b))%10;
if(z!=x){
result=false;
break;
}
}if(result==true){
System.out.println("Yes!");}
else{
System.out.println("No!");

}

}
}
...全文
27 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
玉蟾风雪花 2018-11-30
  • 打赏
  • 举报
回复
for(int b=1;b<=(i/2);b++){
int z=a/(int)Math.pow(10,(b-1))%10;
int x=a/(int)Math.pow(10,(i-b))%10;
if(z!=x){
result=false;
break;
}

这段代码有问题,这个for循环根本就没有运行起来,在这个for循环中除非x和a都是一直相等的,如果刚开始x不等于a,这个循环就会结束!
陆离xxxx 2018-11-30
  • 打赏
  • 举报
回复
while循环完之后a就等于0了吧

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧