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

算法实现:Java 回文数检测

时间:2024-09-21 18:25:54浏览次数:11  
标签: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 内存加载几个忆数据
    一:概述在现代软件开发中,随着数据量的不断增长,我们经常会遇到需要处理大规模数据的场景。Java,作为一种广泛使用的编程语言,其内存管理和数据处理能力受到了极大的考验。本文将探讨在Java中如何有效地加载和处理亿级数据,通过不同的方法来实现,并提供实际的案例分析。二:具体说明<1>内存......
  • 【Java】了解线程 Thread 类的使用,
    线程是什么线程是操作系统中调度的基本单位,是比进程更小的执行单元。线程在进程内部运行,共享该进程的资源,如内存和文件句柄,但每个线程都有自己的执行栈和程序计数器。线程的主要特点包括:轻量级:线程相较于进程更加轻量,创建和销毁的开销较小。共享资源:同一进程中的线程共享该进程的内......
  • 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......
  • 速通JAVA集合
     0.常见的时间复杂度以及性能从好到坏的排序:O(1),O(logn),O(n),O(nlogn),O(n^2) List相关问题1.为什么数组的索引是从0开始的,而不是从1开始的呢?首先数组是一个空间连续存储同种类型元素的有序集合。如果索引从0开始,那么寻址就是a[i]=baseAddress+i*dataTypeSize。如......