java - 回文数

标签 java

我正在编写 Java 代码,我必须在其中创建一个返回带有一个参数的 boolean 值的方法。如果提供给它的数字(参数)是否为回文,代码必须识别真假。这是我的代码,但结果始终是错误的。有人可以确定这里出了什么问题吗?

public class NumberPalindrome {

    public static void main(String[] args) {
        System.out.println(isPalindrome(121));

    }

    public static boolean isPalindrome(int number) {
        int reverse = 0;
        boolean variable = true;
        while (number > 0) {
            int lastdigit = number % 10;
            reverse *= 10;
            reverse += lastdigit;
            number = number / 10;
        }
        if (reverse==number) {
            variable = true;
        } else variable = false;
        return variable;
    }
}

最佳答案

您必须将参数中给定的 number 的初始值保存在内存中,以便稍后能够将其与 reverse 进行比较。代码将如下所示。

public class NumberPalindrome {

    public static void main(String[] args) {
        System.out.println(isPalindrome(121));

    }

    public static boolean isPalindrome(int number) {
        int initialNumber = number;
        int reverse = 0;
        boolean variable = true;
        while (number > 0) {
            int lastdigit = number % 10;
            reverse *= 10;
            reverse += lastdigit;
            number = number / 10;
        }
        if (reverse==initialNumber) {
            variable = true;
        } else variable = false;
        return variable;
    }
}

关于java - 回文数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64110459/

相关文章:

java - 构造函数继承在新对象上出现 fatal error

java - 运行 Activity 两次(而不是一次)以从 getter 获取值

java - 如何在javaFX中使用阴影填充颜色?

java - 运行junit测试时找不到.class文件

java - 如何从 List<Integer> 中获取 IntStream?

java - 缩小在 Java 中的方法调用中是如何工作的?

java - 使用改造将压缩图像上传到服务器

java - MySQL Java 使用 JComboBox 设置第二个 JComboBox

java - Objects.compare() 方法的目的是什么?

java - 查找多维数组是否在数组Java中