如何检查三位数是否是回文?

时间:2016-08-08 07:52:43

标签: java

我在Java中创建了一个小小的回文测验。

我应该在某个时候检查用户是否会输入多于或少于三位数的数字,例如" 1011"或" 10"并显示错误信息,例如"输入错误。"但是,我无法在Java中使用int.length()检查数字的长度,因为我可以使用字符串(String.length())。

我怎么能解决这个问题?

这是我没有if-three-digit检查的代码

import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        System.out.println("Please enter a three digit number number and I will check if it's a palindrome.");

        // create scanner and input number

        Scanner input = new Scanner(System.in);
        int number = input.nextInt();

        int digit1 = (int)(number / 100);
        int remaining = number % 100;
        int digit3 = (int)(remaining % 10);

        System.out.println(number + ((digit1 == digit3) ? " is a palindrome" : " is not a palindrome"));


    }
}

3 个答案:

答案 0 :(得分:1)

您可以将int转换为String并使用长度函数。

Integer.toString(yourNumber).length()

答案 1 :(得分:1)

获得输入后添加if条件:

if (number >= 100 && number < 1000) {
   //Proceed with your logic
} else { 
   //Throw you message as invalid number
}

答案 2 :(得分:1)

要检查数字是否具有某些属性,最好使用数值运算(如果可能)。这通常会导致更快,更直接的代码。

三位数的最小数字是100.三位数的最大数字是999.所以你可以测试如下:

if ((number < 100) && (number > 999)) {
  System.out.println("Not a three-digit number :(")
}