首页 > 编程语言 >算法实现:Java 回文数检测

算法实现:Java 回文数检测

时间:2024-09-21 18:25:54浏览次数:12  
标签:Java tem int System 算法 false 回文 变量

题目描述:

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。

  • 回文数:是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
  • 例如,121 是回文数,而 123 不是。

题目分析

我们做这道题很容易可以想到:

  • 我们新建一个变量,这个变量里存放着一个颠倒的x
  • 然后用这个数去与我们原本的x相比较,如果依然相等,那么这个数则为回文数。

那么我们怎么将一个数颠倒呢?

我们可以把x的个位数当做最高位,十位数当作次高位,以此不断倒着存放入一个新变量中。

如:x = 1234

  • 第 1 次循环结束:新变量的值为4,x为123
  • 第 2 次循环结束:新变量的值为43,x为12
  • 第 3 次循环结束 :新变量的值为432,x为1
  • 第 4 次循环结束 :新变量的值为4321,x为0

代码示例

import java.util.Scanner;

public class IsPalindromeText {
	public static void main(String[] args) {
		int x = 0;
		boolean flag = false;
		
		System.out.println("请输入一个整数:");
		Scanner sc = new Scanner(System.in);
		x = sc.nextInt();
		
		Solution solu = new Solution();
		flag = solu.IsPalindrome(x);
		
		if(flag) {
			System.out.println(x + "是回文数");
		} else {
			System.out.println(x + "不是回文数");
		}
		
		sc.close();
	}
}

class Solution {
    public boolean IsPalindrome(int x) {
        
        //所有负数不是回文数
        if (x < 0){
            return false;
        }
        
        int tem = 0;//保存x的颠倒值
        int sameX = x;//保存x的原始值
       
       while(x > 0) {
        tem = tem * 10 + x % 10;
        x /= 10;
       }
       
        //等于 -> 返回true
        //否则 -> 返回false
        return tem == sameX;
    }
}

运行结果

算法实现:Java 回文数检测_java

算法实现:Java 回文数检测_回文数_02

标签:Java,tem,int,System,算法,false,回文,变量
From: https://blog.51cto.com/xuwenda/12074989

相关文章

  • Java解题:求商和余数
    题目:给定两个整数,被除数和除数(都是正数,且不超过int的范围)要求不使用乘法、除法和%运算符,得到商和余数。题目分析我们知道,除法的本质其实就是被除数对除数不断地进行减法运算。所以,我们只需要循环这个运算,同时记录循环了多少次,就可以得到商。而最终若不够减,那么此时的被除数即是......
  • JAVA集合——Collection接口
    目录1.Collection接口1.概述2.常见方法a.对象添加到集合中b.清空集合中所有的元素c.把给定的对象在当前集合中删除d.判断是否包含 e.判断集合是否为空f.返回集合元素中集合个数​编辑3.Collection的遍历方式a.迭代器遍历1.获取迭代器2.迭代器中常见的方法a.......
  • Java泛型(JDK5)
    目录1.概述2.泛型的优点3.泛型类4.泛型方法5.泛型接口1.实现类给出具体的类型2.实现类延续泛型,创建实现类对象时再确定类型6.泛型的通配符1.概述泛型是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查注意:泛型只能支持引用数据类型2.泛型的优点1.......
  • 粒子群算法(Particle Swarm Optimization,PSO)详解
    算法背景粒子群算法,也称粒子群优化算法或鸟群觅食算法(ParticleSwarmOptimization),缩写为PSO。粒子群优化算法是一种进化计算技术(evolutionarycomputation),1995年由Eberhart博士和kennedy博士提出,源于对鸟群捕食的行为研究。该算法最初是受到飞鸟集群活动的规律性启......
  • 数据结构和算法——基本思想
    一.分治法分治法思想:将原问题分成n个规模较小的而结构与原问题相似的子问题,递归地解这些问题,然后合并其结果就得到原问题的解。分解:原问题分为若干个子问题,这些子问题是原问题的规模较小的实例。解决:递归地求解各个子问题。若子问题足够小,则直接求解。合并:将子问题的解合并成......
  • Java中的输入输出:深入解析与应用
    Java中的输入输出:深入解析与应用在Java编程中,输入输出(I/O)是处理数据流动的核心机制。无论是从控制台读取用户输入,还是从文件中读取数据,或是将数据写入文件,Java都提供了丰富的I/O类和方法来实现这些操作。理解Java中的输入输出机制,对于编写高效、可靠的程序至关重要。本文将......
  • Vue学习笔记6:分别使用纯JavaScript和Vue的v-if 指令来有条件地渲染网页元素
    0缘起有时我们的网页需要根据需要用户的选择展示不同的页面元素。例如:<p>你喜欢哪种水果?</p><p> <label> <inputtype="radio"value="苹果"name="fruit"/> 苹果 </label></p><p> <label> <inputtype="ra......