Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么这不是回文?_Java_Palindrome - Fatal编程技术网

Java 为什么这不是回文?

Java 为什么这不是回文?,java,palindrome,Java,Palindrome,我试图从2个3位数(100-999)的乘积中找到最大的回文。我的方法是检查它是回文还是不使用字符串。我得到的价值很小 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

我试图从2个3位数(100-999)的乘积中找到最大的回文。我的方法是检查它是回文还是不使用字符串。我得到的价值很小

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;    
    }

 }

您还需要检查
p>last

我建议您在调试器中逐步检查代码,以查找未按预期执行的行。提示:最大的乘积可能是最大值之一,因此您可以从上到下开始,也可以忽略
返回新StringBuilder(str).reverse().equals(str)时出错的地方
String str = "" + p;