我正在制作由两个3位数字产品制成的最大回文程序。 但程序正在给出999 * 999 = 998001的产品 任何人都能说出这段代码中的错误吗?
计划 -
public class abc {
public static void main(String[] args)
{
int p=0,temp=0;
for(int i=100;i<=999;i++)
{
for(int j=100;j<=999;j++)
{
p=i*j;
StringBuilder sb=new StringBuilder(Integer.toString(p));
sb.reverse();
if((sb.toString()).equals(Integer.toString(p)) && p>temp)
{
temp=p;
}
}
}
System.out.println(temp);
}
}
答案 0 :(得分:0)
您还有一个;
:
if((sb.toString()).equals(Integer.toString(p)) && p>temp);
^
结束if语句,因此始终执行以下temp=p;
块。
删除它,你会得到
906609