我试图在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;
}
}
答案 0 :(得分:2)
if
语句被认为是空语句。因此,如果从if条件的末尾删除;
,那么你应该优先得到0到n之间的回文数。另请注意,Java中的整数最大范围是2,147,483,647,这意味着如果将其输入为n
值,则会溢出,因此您应该选择j
的类型。
if(number(j));
^