习题练习 -----用java编写程序判断输出 回文数

什么是回文数?

回文数:回文数就是一个数字,从左到右读和从右到左读一样,比如 121 、12321、 3456543、 等等这些都是回文数。

那么今天就带大家一起来看看如何用 java 编写程序 输出判断回文数。

做题思路:

1、提示用户输入一个数字

2、拼接出该数字的反序,判断该数字是否是回文数

判断思路:

以数字 12345  为例,将 数字12345  先逐个拆开  成  5 4 3 2 1  ,然后在计算 5*10000+4*1000+3*100+2*10+1  ,看

输出结果是否等于 12345  ,如果相等,则该数是回文数,否则不是。

拆分方法如下:

12345%10=5     12345/10=1234

1234%10=4       1234/10=123

扫描二维码关注公众号,回复: 9178674 查看本文章

123%10=3         123/10=12

12%10=2           12/10=1

1%10=1             1/10=0

54321

5*10000+4*1000+3*100+2*10+1  ? =  12345

sum=0

sum=sum*10+5;   //5

sum=sum*10+4;   //54

sum=sum*10+3;   //543

sum=sum*10+2;   //5432

sum=sum*10+1;   //54321

例题一:提示用户输入一个三位的整数,然后确定它是否是回文数。

代码展示:

import java.util.Scanner;
class Demo03_04{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入一个数字:");
        int num=scanner.nextInt();
        int temp=num;  //将输入数字保存在 temp 中 ;因为下面代码会改变 num 的值
        int sum=0;
        sum=sum*10+num%10;
        num/=10;
        sum=sum*10+num%10;
        num/=10;
        sum=sum*10+num%10;
        num/=10;
        sum=sum*10+num%10;
        num/=10;
        sum=sum*10+num%10;
        num/=10;
        sum=sum*10+num%10;
        num/=10;
        if(sum==temp){  //  判断sum 是否等于 num
            System.out.println("是回文");
        }else{
            System.out.println("不是回文");
        }
    }
}

例题二、使用下面两个方法头编写两个方法,使用reserve 方法实现 isPalindrome。提示用户输入一个整数值,判断该数是否是回文数。

public static int reverse(int number) //Return the reversal of an integer , i.e. ,reserve(456) returns  654

public static boolean isPalindrome(int number)  // Return true if number is a Palindrome

import java.util.Scanner;
public class Demo04_02{
    public static void main(String[] args){
        Scanner scanner  = new Scanner(System.in);
        System.out.print("Enter  a number : ");
        int number = scanner.nextInt();
        if(isPalindrome( number)){
            System.out.println(reverse(number) +"是回文数");
        }else{
            System.out.println(reverse(number) +"不是回文数");
        }
    }
    public static int reverse(int number){
        int sum=0;
        while(number!=0){
            sum=sum*10+number%10;
            number/=10;
        }    
        return (sum);
        }
        public static boolean isPalindrome(int number){
            if(number==reverse(number)){
                return(true);
            }else{
                return(false);
            }
        }
    }

注意:在一个方法里面定义的变量不能直接在另一个方法里面使用,必须调用该方法才可以。不然就会一直报错显示:找不到该字符符号。

发布了13 篇原创文章 · 获赞 19 · 访问量 2877

猜你喜欢

转载自blog.csdn.net/MillionSong/article/details/104266938