为什么这不是回文?

时间:2017-01-06 18:21:48

标签: java palindrome

我试图从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;

1 个答案:

答案 0 :(得分:2)

您还需要检查p > last