精华内容
下载资源
问答
  • java判断回文数

    千次阅读 2017-07-11 22:51:42
    输入一个n位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 import java.util.Scanner; public class IsPalindrome { public static void main(String[] args) { // TODO Auto-...

    输入一个n位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

    import java.util.Scanner;
    
    public class IsPalindrome {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    /*
    12、一个n位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
    */	
    		Scanner reader=new Scanner(System.in);
    		int a=0;
    		System.out.println("输入回文数a:");
    		a=reader.nextInt();//回文数
    		//计算输入数的位数
    		int count=countNumbersOfBit(a);
    		//求输入数字的最高位对应的基数
    		int tens=cardinalNumber(count);
    		//判断是不是回文数
    		boolean ispalindrome=isaPalindrome(a,count,tens);
    		//如果是回文数那就输出
    		if(ispalindrome) 
    			System.out.println(a+"是回文数!");
    
    	}
    	
    	//统计数字的位数
    	static int countNumbersOfBit(int n) 
    	{
    		int count = 0;
    		while (n > 0) {
    			n = n / 10;
    			count++;
    		}
    		return count;
    	}
    	//计算最高位的基数
    	static int cardinalNumber(int count)
    	{
    		int tens=1;
    		for(int i=0;i<count-1;i++)
    		{
    			tens*=10;
    		}
    		return tens;
    	}
    	/*
    	//判断是不是回文数
    	参数为输入的数a,数a的长度count,数a最高位对应的基数(对应最高位为1其余位补零)
    	*/
    	static boolean isaPalindrome(int a,int count,int tens)
    	{
    		int hight;//最高位
    		int low;//最低位
    		int aa=a;//复制a
    		boolean isPalindrome=true;
    		for(int i=0;i<count/2;i++)//求万位
    		{
    			hight=a/tens;//取得最高位
    //			System.out.println("hight:"+hight);
    			a=a-hight*tens;//减去最高位
    			tens=tens/10;//位数减1
    			//求最低位
    			low=aa%10;
    			aa=aa/10;
    //			System.out.println("low:"+low);
    			if(hight!=low)
    			{
    				isPalindrome=false;//如果不是回文数,让标志位假
    				System.out.println("不是回文!");
    				break;
    			}	
    		}
    		return isPalindrome;
    	}


    展开全文
  • 题目:一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与 千位相同。 import java.util.Scanner; public class Ex25 { static int[] a = new int[5]; static int[] b = new int[5]; ...
    题目:一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与 千位相同。
    package com.qq.weixin;
    
    import java.util.Scanner;
    
    public class Ex25 {
        static int[] a = new int[5];
        static int[] b = new int[5];
    
        public static void main(String[] args) {
            boolean is = false;
            Scanner s = new Scanner(System.in);
            long l = s.nextLong();
            if (l > 99999 || l < 10000) {
                System.out.println("Input error, please input again!");
                l = s.nextLong();
            }
            for (int i = 4; i >= 0; i--) {
                a[i] = (int) (l / (long) Math.pow(10, i));
                l = (l % (long) Math.pow(10, i));
            }
            System.out.println();
            for (int i = 0, j = 0; i < 5; i++, j++) {
                b[j] = a[i];
            }
            for (int i = 0, j = 4; i < 5; i++, j--) {
                if (a[i] != b[j]) {
                    is = false;
                    break;
                } else {
                    is = true;
                }
            }
            if (is == false) {
                System.out.println("is not a Palindrom!");
            } else if (is == true) {
                System.out.println("is a Palindrom!");
            }
        }
    }

     

    展开全文
  • JAVA实现判断回文数

    千次阅读 2016-04-14 13:27:00
    从控制台输入一个,如果是回文输出是,不是回文输出否。package a1;import java.util.Scanner;public class HuiWenShuClass { public static void main(String[] args) { // TODO Auto-generated method stub...

    从控制台输入一个数,如果是回文数输出是,不是回文数输出否。

    package a1;
    
    import java.util.Scanner;
    
    public class HuiWenShuClass {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            int number =0,d5,d4,d3,d2,d1;
            Scanner reader = new Scanner(System.in);
            System.out.println("输入一个1至99999之间的数");
            number = reader.nextInt();
            // 判断Number在1~99999的条件
            if(number>=1 && number<=99999){
                // 计算最高位d5
                d5 = number/10000;
                // 计算千位d4
                d4 = number%10000/1000;
                // 计算百位d3
                d3 = number%1000/100;
                // 计算10位
                d2 = number%100/10;
                // 计算个位
                d1 = number%10;
                // 判断number是五位数的条件
                if(d5!=0){
                    System.out.println(number+"是五位数!");
                    // 判断是回文数的条件
                    isAlive(d5==d1 && d4==d2,number);
                }else if(d4!=0){ //判断number是四位数的条件
                    System.out.println(number+"是四位数!");
                    isAlive(d4==d1 && d3==d2,number);
                }else if(d3!=0){ //判断number是三位数的条件
                    System.out.println(number+"是三位数");
                    isAlive(d3==d1, number);
                }else if(d2!=0){ //判断number是两位数的条件
                    System.out.println(number+"是两位数");
                    isAlive(d2==d1, number);
                }else if(d1!=0){
                    System.out.println(number+"是一位数");
                    System.out.println(number+"是回文数");
                }
            }else{
                System.err.printf("\n%d不在1至99999之间",number);
            }
            reader.close();
        }
    
        private static void isAlive(boolean is,int number){
            if(is){
                System.err.println(number+"是回文数");
            }else{
                System.err.println(number+"不是回文数");
            }
        }
    }
    

    字符串判断

    public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            System.out.println("输入一个字符串: ");
            String word = sc.next();
    
            if (word.equals(new StringBuffer(word).reverse().toString()))
                System.out.println("输入字符串是回文.");
            else
                System.out.println("输入字符串不是回文.");
    
            sc.close();
    
        }
    
    展开全文
  • Java根据用户指定的5位数,判断一个它是不是回文数,即12321是回文数,个位与万位相同,十位与千位相同。先判断判断输入的数字是否为五位数,如果不是五位数则提示重新输入,如果是则将数字存入数组a中,将数组a里的...
  • Java判断回文数

    千次阅读 2013-01-22 16:05:19
    实验代码: /* * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: TestNumber.java * 作 者: 张宗佳 * 完成日期: 2012 年 9 月 16

    实验代码:

    /*
    * 程序的版权和版本声明部分
    * Copyright (c) 2011, 烟台大学计算机学院学生 
    * All rights reserved.
    * 文件名称:  TestNumber.java                            
    * 作    者:  张宗佳                          
    * 完成日期:  2012 年 9 月 16 日
    * 版 本 号:  v1.0        
    
    * 对任务及求解方法的描述部分
    * 问题描述:编写一个Java应用程序,用户从键盘输入一个1~9999之间的数,程序将判断这个*数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数*和原数相同,例如12121、3223都回文数。代码附后。
    * 算法说明:
    * 程序头部的注释结束
    */
    import javax.swing.JOptionPane;
    public class TestNumber
    {  
        public static void main(String args[])
        {
            loopNumber();   
        }
         static  void loopNumber(){
            int number=0,d5,d4,d3,d2,d1;
            String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");//对话框的形式
            number=Integer.parseInt(str);//转换
            if(number > 1 && number < 99999) //判断number在1至99999之间的条件
                {
            	d5 = number / 10000;//计算number的最高位(万位)d5
                d4 = number / 1000 % 10;//计算number的千位d4
                d3 = number % 1000 / 100;  //计算number的百位d3
                d2=number % 100 / 10;
                d1=number % 10;
                if(d5 > 0)  //判断number是5位数的条件
                	{
                	System.out.println(number+"是5位数");
                	if(d5 == d1 && d4 == d2) //判断number是回文数的条件
                		{
                		System.out.println(number+"是回文数");
                		}
                	else
                	{ 
                		System.out.println(number+"不是回文数");
                		}
                	}
                else if(d5 == 0 && d4 > 0)  //判断number是4位数的条件
                	{
                	System.out.println(number+"是4位数");
                	if(d1 == d4 && d2 == d3) //判断number是回文数的条件码
                		{
                		System.out.println(number+"是回文数");
                		}
                	else
                	{ 
                		System.out.println(number+"不是回文数");
                		}
                	}
                else if(d5 == 0 && d4 == 0 && d3 > 0)  //判断number是3位数的条件
                	{
                	System.out.println(number+"是3位数");
                	if(d1 == d3) //判断number是回文数的条件
                		{
                		System.out.println(number+"是回文数");
                		}
                	else
                	{ 
                		System.out.println(number+"不是回文数");
                		}
                	}
                else if(d2!=0)
                {
                	System.out.println(number+"是2位数");
                	if(d1==d2)
                	{
                		System.out.println(number+"是回文数");
                		}
                	else
                       { 
                		System.out.println(number+"不是回文数");
                		}
                	}
                else if(d1!=0)
                    {
                      System.out.println(number+"是1位数");
                      System.out.println(number+"是回文数");
                    }
                }
             else
                {
                   System.out.printf("\n%d不在1至99999之间",number);
                }
        }
    }

    实验结果:


    1221是4位数
    1221是回文数

    展开全文
  • 查看所有50道基础算法题请看: Java的50道基础算法题 package Demo25Palindrome;... * 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 */ /* 分析:所谓回文,就是正着念跟...
  • 题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 网上的结果如下: import java.util.Scanner; public class Ex25 { static int[] a = new int[5]; static int[] b = ...
  • // 题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 public class Test_wzs24 { public static void main(String[] args) { for (int i = 10000; i ; i++)
  • java现实回文数

    千次阅读 2018-11-19 13:53:46
    判断一个整数是否是回文。回文是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121输出: true 示例 2: 输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121...
  • import java.util.Scanner;...//判断一个5位数是不是回文 class PalindromeNum { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输...
  • java实现判断是否为回文数

    千次阅读 2019-01-18 18:55:41
    import java.util.*; public class HiJava { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println(&quot;Please input the number: &quot;); ...
  • Java编程之回文数

    千次阅读 2016-09-26 23:50:13
    题目:一个5位数,判断它是不是回文数。 即12321是回文数,个位与万位相同,十位与千位相同。 */ import java.util.Scanner; public class Main { public static void main(String[] args)
  • 文本包含两种回文数算法方式 举例说明: 1.利用StringBuilder 的reverse()反转字符串方法,实现判断回文数 ... //正读倒读一样,所以这个数字就是回文数 import java.util.Scanner; public class HuiWe
  • 算法-判断是否为回文数(c语言版)

    万次阅读 多人点赞 2019-03-01 20:52:47
    输入一个数判断是否为回文 #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; void main() { int i=0,s,n; printf("请输入一个:"); scanf("%d",&amp;n); s=n...
  • java求回文数算法优化

    万次阅读 2018-04-27 15:06:49
    * 创建map集合存储数据然后对数据进行判断抛出 */ private Map&lt;Integer, List&lt;String&gt;&gt; palindromeData = new HashMap&lt;&gt;(); /** * 讲数字直接转为字符串然后通过.....
  • Java算法:回文

    千次阅读 2019-09-08 17:09:58
    比如 121121,23322332都是回文数,13,456713,4567 不是回文数。 任意一个正整数,如果其不是回文数,将该数交换高低位以后和原数相加得到一个新的数,如果新数不是回文数,重复这个变换,直到得到一个回文数为止。...
  • 一个5位数,判断它是不是回文数

    千次阅读 2017-09-28 10:02:25
    题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。     1 package com.li.FiftyAlgorthm; 2 3 import java.util.Scanner; 4 5 /** 6 * 题目:一个5位数,判断它...
  • java 算法

    2012-03-29 09:01:35
    简介:这份资源是我以前偶然间在网上找到的一份前辈总结的很实用的java实例,有时间我就拿出来看看,不只是应用,算法的实现过程也很重要。我觉得这份文档对于java开发人员来说是很实用的,所以拿出来分享一下。 ...
  • 判断一个数是不是回文数,就是要把这个数反过来读,并且把它和原来的数比较 那怎么把数反过来读呢?如果用String类的reverse(),是不是过于麻烦? 有没有更为高效的算法?答案是肯定的,思路是,从后面按位取出,...
  • 判断一个整数是否为回文数

    千次阅读 2017-01-19 15:23:43
    问题 判定一个正整数是否是一个回文数。例如12121是回文数,而1231不是回文数。回文数定义为可以以中间某个数字对称,或者间隔对称,例如123321,或者1234321。...这种方法不仅可以判断一个数是否为回文数
  • java回文数判断

    千次阅读 2019-07-30 16:08:19
    java简单算法实现回文数判断
  • 多种编程语言判断“回文数”的经典算法 今天做了一个有趣的事,用C、C++、Java、Python等多种编程语言实现...通俗的讲:顺读、倒读都相等的正整数就是回文数,只有正整数才存在回文数,小数不存在回文数。比如:678...
  • 算法题打卡。 没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫情地将原因归于自己倒霉。所以说,树倒了,没有一片雪花是无辜的
  • 输入一个三位数判断是否为回文数,当这个数顺读和逆读都是一样的则为回文数。 输入格式:输入一个三位数 输出格式:判断是否为回文数,是回文数输出yes否则输出no 输入样例: 在这里给出一组输入。例如: 121 输出样例:...
  • [小米]2015小米校招之回文数判断

    千次阅读 2014-10-21 20:36:02
    现在我们的问题来了,把一个数字看成字符串,问它是不是一个回文?时间复杂度和空间复杂度越低的算法,得分越高。 c++:  bool isPalindromeNumber(long num); java:  boolean isPalindromeN

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,178
精华内容 16,071
关键字:

java判断回文数的算法

java 订阅