第六章第三题(回文整数)(Palindrome integer)

第六章第三题(回文整数)(Palindrome integer)

  • **6.3(回文整数)使用下面的方法头编写两个方法:
    // Return the reversal of an integer, e.g., reverse(456) returns 654
    public static int reverse(int number)
    // Return true if number is a palindrome
    public static boolean isPalindrome(int number)
    使用reverse方法实现isPalindrome。如果一个数字的逆序数和它自身相等,这个数就称作回文数。编写一个测试程序,提示用户输入一个整数值,然后报告这个整数是否是回文数。
    **6.3(Palindrome integer) Write the methods with the following headers:
    // Return the reversal of an integer, e.g., reverse(456) returns 654
    public static int reverse(int number)
    // Return true if number is a palindrome
    public static boolean isPalindrome(int number)
    Use the reverse method to implement isPalindrome. A number is a palindrome if its reversal is the same as itself. Write a test program that prompts the user to enter an integer and reports whether the integer is a palindrome.
  • 参考代码:
package chapter06;

import java.util.Scanner;

public class Code_03 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter an integer: ");
        int number = input.nextInt();
        if (isPalindrome(number))
            System.out.println(number + " is a palindrome");
        else
            System.out.println(number + " is not a palindrome");
    }
    public static int reverse(int number){
        int reverseNumber = 0;
        do {
            reverseNumber = reverseNumber * 10 + number % 10;
            number /= 10;
        }while(number > 0);
        return reverseNumber;
    }
    public static boolean isPalindrome(int number){
        return (number == reverse(number));
    }
}

  • 结果显示:
Enter an integer: 232
232 is a palindrome

Process finished with exit code 0

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以将整数转化为字符串,然后判断字符串是否回文。 以下是 Java 实现代码: ```java public class Solution { public boolean isPalindrome(int x) { String str = Integer.toString(x); int left = 0, right = str.length() - 1; while (left < right) { if (str.charAt(left) != str.charAt(right)) { return false; } left++; right--; } return true; } } ``` 在主函中调用: ```java public static void main(String[] args) { Solution solution = new Solution(); int x = 121; boolean result = solution.isPalindrome(x); System.out.println(result); // 输出 true } ``` ### 回答2: 首先,需要理解回文整数的定义,回文整数是指正序(从左向右)和倒序(从右向左)读都相同的整数。 我们可以将整数转换为字符串,然后比较正序和倒序字符串是否相同来判断是否为回文整数。具体的做法如下: 1. 将整数 x 转换为字符串 str。 2. 定义一个新的字符串 revStr,用于存储 str 的逆序。 3. 通过循环遍历 str,将字符从尾部开始依次添加到 revStr 中。 4. 比较 str 和 revStr 是否相同,如果相同则说明是回文整数,返回 true;否则返回 false。 以下是使用 Java 代码实现上述步骤的示例: ```java public class PalindromeNumber { public static void main(String[] args) { int x = 12321; String str = String.valueOf(x); String revStr = ""; for (int i = str.length() - 1; i >= 0; i--) { revStr += str.charAt(i); } boolean isPalindrome = str.equals(revStr); System.out.println(isPalindrome); } } ``` 以上代码将输出 `true`,因为 12321 是一个回文整数。 需要注意的是,以上方法整数转换为字符串进行比较,可能效率较低。如果不允许转换为字符串,也可以通过反转整数的方式进行判断。 ### 回答3: 要判断一个整数是否为回文整数,可以将该整数转为字符串,然后比较该字符串与其反转后的字符串是否相等。如果相等,则该整数回文整数,否则不是。 使用Java语言实现如下: ```java public class PalindromeInteger { public static void main(String[] args) { int x = 12321; // 示例输入 boolean isPalindrome = isPalindrome(x); System.out.println(isPalindrome); } public static boolean isPalindrome(int x) { String str = String.valueOf(x); // 将整数转为字符串 String reverseStr = new StringBuilder(str).reverse().toString(); // 反转字符串 return str.equals(reverseStr); // 判断原字符串与反转后的字符串是否相等 } } ``` 以上代码中,我们定义了一个`isPalindrome`方法,该方法接收一个整数`x`,并返回一个布尔值。在`isPalindrome`方法中,我们将整数`x`转为字符串`str`,然后使用`StringBuilder`的`reverse`方法将`str`反转得到`reverseStr`,最后通过比较`str`和`reverseStr`来判断是否为回文整数。 在示例代码中,将整数`12321`赋值给变量`x`,然后调用`isPalindrome`方法判断其是否为回文整数,结果为`true`,即打印`true`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值