黑马程序员技术交流社区

标题: 判断回文数源码-----求更简单的代码 [打印本页]

作者: 编号3363    时间: 2016-3-28 01:01
标题: 判断回文数源码-----求更简单的代码

/*

需求:
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

思路:
①先用for循环做一遍吧,练练手感;
②如果要用for循环做,那么得用%分别把个、十、百、千、万位上的数分别提取出来;
③将提取出来的数用==号一一作比较,完全符合条件则输出结果。

步骤:
①创建Scanner键盘录入对象,用nextInt()方法接收键盘录入的数据;
②用/和%分别将个、十、百、千、万位上的数取出来,并定义变量a、b、d、e记录取出的数值;
③用==比较几个值,符合条件就输出打印结果。

*/


/**

版本号:1.7.0。

*/


//导包。
import java.util.Scanner;

class Huiwen{

        public static void main(String[] args){

                Scanner sc = new Scanner(System.in);

                System.out.print("\n您好!请输入要验证的数:");

                int num = sc.nextInt();

                if(num>99999 && num<10000)
                        System.out.println("您输入的数值有误,请重新输入。");
                else
                        panDuan(num);

        }

        public static void panDuan(int x){

                int a = x/10000;

                int b = (x%10000)/1000;

                int c = ((x%10000)%1000)/100;

                int d = (((x%10000)%1000)%100)/10;

                int e = (((x%10000)%1000)%100)%10;

                System.out.println("\n您好!您输入的数字拆分后的结果是:"+
                        a+"、"+b+"、"+c+"、"+d+"、"+e+"。");

                if(a==e && d==c)
                        System.out.println("\t该数字是回文数。");
                else
                        System.out.println("\t该数字不是回文数。");

        }

}



作者: dxw    时间: 2016-3-28 06:52
本帖最后由 dxw 于 2016-3-28 06:54 编辑

public static void panDuan(int x){
                int [] a=new int[5];int n=0;
do{

a[n]=x%10;
n++;
}while((x/10)!=0);

                System.out.println("您好!您输入的数字拆分后的结果是:"+
                        a[4]+"、"+a[3]+"、"+a[2]+"、"+a[1]+"、"+a[0]+"。");

                if(a[0]==a[4]&& a[1]==a[3])
                        System.out.println("该数字是回文数。");
                else
                        System.out.println("该数字不是回文数。");

        }

}

作者: 编号3363    时间: 2016-3-29 21:56
dxw 发表于 2016-3-28 06:52
public static void panDuan(int x){
                int [] a=new int[5];int n=0;
do{

多谢多谢!
作者: sAnChu    时间: 2016-3-30 00:27
  1. /*
  2.         一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
  3. */

  4. import java.util.Scanner;
  5. class Qusetion3 {
  6.         public static void main(String[] args)
  7.         {
  8.                 System.out.print("请输入一个5位数:");
  9.                 Scanner sc = new Scanner(System.in);
  10.                 int num = sc.nextInt();
  11.                 if (num/10000 == num%10) {
  12.                         if(num/1000%10 == num/10%10){
  13.                                 System.out.println(num+"是回文数");
  14.                         }
  15.                 }else{
  16.                 System.out.println(num+"不是回文数");
  17.                 }

  18.         }
  19. }
复制代码

作者: 腾龙3158    时间: 2016-3-30 01:29
class  HuiWei { public  static    void   main (String[]  args ){
String  regex   = "(\\d)(\\d)(\\d)\\1\\2"; boolean   b    =  String.valueOf(number).matches(regex);
    if(b){ System.out.println(number +"是回文数");  }else {System.out.println(number +"不是回文数");}}
}手机回复,没有调试,仅做参考。
作者: 编号3363    时间: 2016-4-3 00:33
腾龙3158 发表于 2016-3-30 01:29
class  HuiWei { public  static    void   main (String[]  args ){
String  regex   = "(\\d)(\\d)(\\d) ...

嗯, 多谢多谢!
作者: 编号3363    时间: 2016-4-3 00:34
sAnChu 发表于 2016-3-30 00:27

多谢多谢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2