我试图从2位数字(100-999)的产品中找到最大的回文。我的方法是使用String来检查它是不是回文。我的价值很小。
import acm.program.*;
public class Palindrom extends ConsoleProgram{
public void run(){
int last = 0;
for (int i = 100; i <= 999; i ++){
for (int k = 100; k <= 999; k++){
int p = i*k;
String str = "" + p;
if(isPalindorme(p, str)){
last = p;
}
}
}
println(last);
}
public boolean isPalindorme(int p, String str){
for (int i = 0; i < str.length()/2; i++){
if (str.charAt(i) != str.charAt(str.length()-1-i)){
return false;
}
}
return true;
}
}
我认为错误可能就在这一行:
String str = "" + p;
答案 0 :(得分:2)
您还需要检查p > last
。