当前位置: 首页 > 知识库问答 >
问题:

如何检查三位数字是否为回文?[副本]

葛桐
2023-03-14

我正在创建一个小琐碎的回文测试在Java。

我应该在某个时候检查用户输入的是多于还是少于三位数,如“1011”或“10”,并显示一条错误消息,如“错误输入”。但是,在Java中,我不能用int.length()检查数字的长度,相反,我可以用字符串(String.length())检查数字的长度。

我怎样才能解决这个问题呢?

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"));


    }
}

共有1个答案

乜飞航
2023-03-14

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

三位数的最小数字是100。三位数的最大数字是999。因此可以进行如下测试:

if ((number < 100) && (number > 999)) {
  System.out.println("Not a three-digit number :(")
}
 类似资料:
  • 我有一个gpa程序,它使用方法,该方法比较字母“a”和用户输入的两个字符串,然后检查它们是否输入“a”。但现在我想添加一个异常,该异常在输入数字时会执行错误消息。我想让程序意识到整数输入与字符串不一样,并给出一个错误消息。我可以使用哪些方法来比较类型字符串变量和int类型的输入,并抛出异常?

  • 我知道Sieve的算法,直到现在我一直在用它来得到高达10亿的素数。 但现在我需要知道一个10位数是素数还是不是素数,而Sieve的算法无法在时间限制内计算出来。 我搜索了很多,找到了费马的素数检验,但它没有成功,因为有些部分我不能理解,而有些部分告诉我,它只是通过一些迭代来判断它是不是可能的素数。 我想知道,在1秒左右的时间内,如何测试一个这么大的数是否为素数?最有效的解决方案/算法是什么? 编

  • 本文向大家介绍检查数字是否为PL / SQL中的回文,包括了检查数字是否为PL / SQL中的回文的使用技巧和注意事项,需要的朋友参考一下 在本节中,我们将看到如何检查号码是否是回文或者是不使用PL / SQL。在PL / SQL代码,一些命令组被布置语句的相关声明的一个块中。 如果数字与该数字相反,则该数字为回文。假设一个数12321,这是回文,但12345是不是回文。 示例 输出结果

  • 本文向大家介绍检查数字的总和是否为回文-JavaScript,包括了检查数字的总和是否为回文-JavaScript的使用技巧和注意事项,需要的朋友参考一下 我们需要编写一个JavaScript函数,该函数接受一个数字,对其数字求和,并检查该和是否为回文数。如果总和是回文,则该函数应返回true,否则返回false。 例如,如果数字为697,则其数字的总和将为22,这的确是回文数。 因此,对于697

  • 以下是我要应用的验证: 字符串应包含 0 到 9 之间的任何字符。 它不应包含任何字母字符。 它最多可以包含一个表示负数的“-”(减号运算符),例如“-12”。 它最多可以包含一个“.”以涵盖浮点数(如“12.2”)的情况 现在,我已经尝试了各种组合,但仍然无法在Typescript中创建这样的条件。以下是我的尝试: 使用正则表达式/^[0-9.{0,1}-{0,1}]/. test(mystri

  • 如何检查字符串是否包含数字?