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

一个Java程序,将一个数字反转并确定它是否是回文

景凌
2023-03-14

作为作业,我要写两种方法;一个是使用公共静态int(int number)的反转方法,另一个是使用公共静态布尔isPalindrome(int number)的回文方法。我已经在这方面工作了几个小时,真的被难倒了。我不是要求我的家庭作业为我做,只是帮助理解从这里到哪里去。多谢了。我当前的代码如下;

public class Exercise
{
    public static void main(String[] args)
    {

        System.out.println("Please enter an integer. ");
        Scanner input = new Scanner(System.in);
        int number = input.nextInt();
        boolean Final = isPalindrome(number);
        System.out.println(Final);

    }

    public static int reverse(int number)
    { // missing return?
        int y;
        int n;
        for (n = 0; n <= number; n++)
        { // parameters
            y = number % 10; // remainder
            number = number / 10; // gets rid of last digit
            n = n * 10 + y; // sets reverse values

            return n; // returns reversed number
        }
    }

    public static boolean isPalindrome(int number)
    {
        int n = reverse(number); // call reverse method
        boolean result; // declare result
        if (n = number)
        { // incompatible types?
            result = true;
            System.out.println("The number " + number + " is a " + "Palindrome" + ".");
        }
        else if (n != number)
        {
            result = false;
            System.out.println("The number " + number + " is a Palindrome" + ".");
        }
        return result; // not initialized?
    }
}

共有1个答案

上官鸿晖
2023-03-14

返回n;for循环中。把花括号移到上面就行了。

此外,将for循环更改为while(number>0){

并将(n=number)更改为(n==number)

另外,删除isPalindrome中的第二个if条件,您不需要它。只需放入else即可。这将使编译器告诉您返回结果;不可访问...删掉就行了。

 类似资料:
  • rank ▲ ✰ vote url 41 487 108 705 url 检查一个字符串是否是一个数字 如果一个字符串可以被看做一个数字那么有什么好的方法可以检测出来? 我能想到的方法: def is_number(s): try: float(s) return True except ValueError: return Fals

  • 我有多个参数要引用,但我不想一个一个地指定它们。

  • 问题内容: 我知道这个问题的变体以前经常被问过,但这 并不是 这些问题的 精确 重复。 我想检查a 是否为数字,如果是,我想将其存储为。有几种方法可以做到这一点,但是所有这些方法似乎都不适合我的目的。 一种解决方案是使用或类似方法。但是,如果存在逗号,这些解决方案将不起作用(因此,“ 1,234”将导致异常)。在使用这些技术之前,我当然可以删除所有逗号,但是这似乎在其他地区带来了很多问题。 我看了

  • 所以我有一个问题,当我计算一个数字时,比如说15,我必须显示这个:15=3x5,但我得到的是3x5x5,我不知道如何使它变成这样,所以它只显示3x5。还有一个问题是,我输入的数字是否是素数。有办法解决这个问题吗?我只需要这些,然后再编辑其他东西。

  • 我正在编写一个程序来检查用户输入的数字是否是卡普雷卡数(一个正方形的数字可以拆分并相加以获得原始数字),但是我只能编写一个只适用于1的程序 正如你所看到的,程序正在将数字拆分为1位数字,这不是我想要的。我需要把它分解成各种可能的方式,然后再加起来,但我不知道如何处理这个问题。你会怎么做?

  • 例如,243是3的完美幂,因为243=3^5。 我以前一直在使用,我认为它工作得很好,但后来我用上面的示例尝试了它,由于浮点运算,它实际上返回了4.99999999999。所以它只适用于非常小的数字,我发现不到大约100个。 我想我可以用一个循环来重复乘法。。。i、 将i设置为3,然后设置为9,然后设置为27,然后设置为81,然后设置为243,这等于目标值,所以我们知道这是一个完美的幂。如果它达到