查找回文数字

时间:2016-10-22 17:38:12

标签: java

我试图在0&之间找到Palindrome数字。给定的输入。代码中有一些错误。我认为问题在于逻辑。

import java.util.Scanner;

public class Palindrome {

    public static void main(String[] args) {
        int count = 0;
        System.out.println("Enter the limit to check the no of Palindrome ");
        Scanner input = new Scanner(System.in);
        int no = input.nextInt();

        for (int j = 0; j <= no; j++) {
            if (number(j)) ;
            ++count;
        }
        System.out.println(count);
    }

    public static boolean number(int num) {


        int i = num;
        int reverse = 0;
        while (i != 0) {
            reverse = reverse * 10;
            reverse = reverse + i % 10;
            i = i / 10;
        }


        if (num == reverse) {
            return true;
        } else
            return false;

    }
}

1 个答案:

答案 0 :(得分:2)

最后带分号的

if语句被认为是空语句。因此,如果从if条件的末尾删除;,那么你应该优先得到0到n之间的回文数。另请注意,Java中的整数最大范围是2,147,483,647,这意味着如果将其输入为n值,则会溢出,因此您应该选择j的类型。

if(number(j));
             ^