【PTA】判断一个数是否为回文数

2023-11-01

 1. 题目

如果一个数与它的反转数相等,则该数为回文数。输入一个数,判断是否为回文数。

输入格式:

输入一个数

输出格式:

若XX是回文数,则输出“XX 是回文数”,若不是,则输出“XX 不是回文数”

输入样例1:

6234326

输出样例1:

6234326 是回文数

输入样例2:

123456

输出样例2:

123456 不是回文数
import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        if(isPalindrome(n)==false)
            System.out.printf("%d 不是回文数",n);
        else System.out.printf("%d 是回文数",n);
    }
    public static boolean isPalindrome(int x) {
         String s = new StringBuilder(x+"").reverse().toString();
         return s.equals(x+"");
    }
}

2. 题解

判断一个数是否回文数,实际上是问一个字符串是不是回文串。所以,首先需要将数字转化为字符串。

x+""

一个回文串是对称的,也就是说这个字符串与它的逆转后的字符串是一样的。比如,如果一个字符串是"abccbb",那么它逆转后的结果是"bbccba",很明显,二者的结果是不同的;如果一个字符串是"abccba",那么它逆转后的结果是"abccba",很明显,二者的结果是相同的。所以只要比较二者是否相等就可以判断这个数是不是回文串了。

本代码中使用了StringBuider对象,为什么不用String对象呢?

下面看一看封装字符串的三个对象

  • String

对象一旦创建,其值是不能修改的,如果要修改,需重新开辟内存空间来存储修改之后的对象;而StringBuffer和StringBuilder对象的值是可以被修改的。

  • StringBuffer

线程比较安全,在多线程系统中可以保证数据同步,但是效率比较低;而StringBuilder 没有实现同步,线程不安全,在多线程系统中不能使用 StringBuilder,但是效率比较高。

  • StringBuilder

如果需要对字符串进行频繁的修改,使用String会造成内存空间的浪费;当需要考虑线程安全的场景下使用 StringBuffer,如果不需要考虑线程安全,追求效率的场景下可以使用 StringBuilder。

所以,最好用StringBuilder对象。

字符串封装完毕后对字符串转置,然后再用toString方法返回。

StringBuilder(x+"").reverse().toString();

比较

s.equals(x+"")

3. 其它方法

  • 由于回文串是对称的,所以可以将这个数存储到数组中,利用对称性一个个对比两端的数子大小。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【PTA】判断一个数是否为回文数 的相关文章

  • 如何正确地将MapStruct与Eclipse集成? (包括Lombok java代理)

    我愿意在一些官方项目中使用MapStruct 所以我决定先对其进行一些测试 我需要让它与 eclipse 集成工作 并遵循 MapStruct 网站上提供的所有说明 但是 到目前为止还没有运气 有人成功实现了这种整合吗 如果是的话我可以缺少
  • Maven:无法在 OS X 上找到 java.lang 问题

    当我尝试时遇到以下问题mvn clean install显然它无法找到运行时 jar 但我需要做什么 错误日志 ERROR COMPILATION ERROR INFO ERROR Failure executing javac but c
  • JCombobox 字符串项(可见)和整数键(固有)

    我有一个数据库模式 它将作为 JTable 列显示在 JCombobox 中以选择名称 但我希望将 ID 字段插入 作为外键 到另一个表中 通常 在下拉列表中选择一个项目 将所选项目带到组合框的显示区域 我想要做的是 当选择组合框中的任何项
  • 如何将 Struts 2 与 Velocity 和 Tiles 结合使用

    有人能够获得与 struts 2 一起使用的速度和图块吗 我在网上查找示例或教程时遇到一些问题 从我从邮件列表中收集到的信息来看 这似乎根本不可能 但邮件已经很旧了 https struts apache org docs tiles pl
  • 使用 Bouncy Castle 重建 ED25519 按键 (Java)

    Bouncy Castle 的最新 测试版 版本 bcprov jdk15on 161b20 jar 支持 ED25519 和 ED448 EC 加密以进行签名 我设置了这个完整的工作示例 它按预期工作 我的问题 我是否正确重建了私钥和公钥
  • HashMap何时以及如何将桶从链表转换为红黑树? [复制]

    这个问题在这里已经有答案了 我正在研究 java 8 功能 发现当存储桶上的条目集数量增加时 哈希图使用红黑树而不是链表 但是 这是否不需要密钥是可比较的或存在某种密钥排序以及这是如何工作的 这种转变何时真正发生以及如何发生 当有at le
  • Junit测试中LocalDateTime反序列化的问题

    我有问题LocalDateTime反序列化Junit测试 我有简单的REST API返回一些DTO目的 当我呼叫端点时 响应没有问题 它是正确的 然后我尝试编写单元测试 得到MvcResult并使用ObjectMapper将其转换为我的DT
  • 将 Java 3D 坐标转换为 2D 屏幕坐标

    我正在使用一个名为 Walrus 的 Java 3D 应用程序 该应用程序用于显示有向图 该代码已经具有突出显示节点并在给定其屏幕坐标的情况下在图形中相邻绘制标签的功能 旋转屏幕后 该节点不再突出显示 我所拥有的是 3D 中的节点坐标 我需
  • 如何从 Jackson 中的自定义解串器调用默认解串器

    我在杰克逊的自定义解串器有问题 我想访问默认序列化器来填充我要反序列化的对象 在填充之后 我将做一些自定义的事情 但首先我想使用默认的 Jackson 行为反序列化对象 这是我目前拥有的代码 public class UserEventDe
  • Spring Security登录返回404

    我目前正在使用 Spring 框架开发我的博客 我正在实现 Spring Security 用于登录目的 一切都按预期进行 直到我提交始终返回 404 代码的登录凭据 这是我的 web xml 代码e
  • 膨胀类 android.support.v7.internal.widget.NativeActionModeAwareLayout 时出错

    如果您以前解决过这个问题 请有人帮助我 我正在尝试使用材料设计制作一些东西 以便应用程序可以运行到 API 10 的低版本 我的代码中没有任何错误 但我不断收到此错误 Android 日志猫 06 01 05 05 37 414 E And
  • 如何使用 Tomcat 启用浏览器缓存静态内容(图像、css、js)?

    如何使用 Tomcat 启用浏览器缓存静态内容 图像 css js 首选的解决方案是编辑 spring MVC 配置文件或 web xml 尝试 改变值
  • HYBRIS - 组件和插槽如何在 JSP 文件中工作?

    最近我正在使用 Hybris 我无法理解这些组件是如何工作的 我知道如何创建和定义一个 如何将它们添加到我想要的页面等 但我不明白如何使用该标签
  • 在JAVA中将数据写入.txt文件?

    我想知道是否是在JAVA中将计算的数据写入文本文件 我的 JAVA 代码是一个基于 GUI 的 gpa 计算器 我只想添加一个 JButton 和 ActionListener 它将类名 GPA 点和计算出的 GPA 写入 txt 文件 这
  • 如何使用JSqlParser向sql添加where条件?

    我想用JSqlParser向sql添加where条件 例如 Before select from test table where a 1 group by c After select from test table where a 1
  • 如何组织课程、课程包[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 您如何决定包名称应该是什么以及什么类应该放入哪个包中 我正在开发一个项目 在该项目中 我不断添加 删除类 并且不确定我是否需要一个新包 或者应该将其添
  • 正确的单元测试技术

    在使用 TDD 时 我发现自己需要测试一个包含查找值的常量 最终 哈希图 请查看更新中出现这种情况的原因 见下文 private static final Map
  • 如何找到 JAR:/home/hadoop/contrib/streaming/hadoop-streaming.jar

    我正在练习有关 Amazon EMR 的复数视角视频教程 我被困住了 因为我收到此错误而无法继续 Not a valid JAR home hadoop contrib streaming hadoop streaming jar 请注意
  • 启动 Firefox 并等待其关闭

    Question 我想启动 Firefox 网络浏览器作为访问特定网站的过程 然后等到它关闭 一种特殊情况是浏览器可能已经打开并正在运行 因为用户可能已经访问过某个网站 在这种情况下 浏览器可能会在现有窗口中打开一个新选项卡 并且新启动的进
  • 如果垃圾收集器没有删除未引用的对象,它们还能运行吗?

    如果一个对象正在等待垃圾收集 但包含一个在该对象的最后一个引用更改时正在运行的线程 那么该线程是否仍会运行并且代码是否仍会执行 那么您是否可能有一堆应该删除的幽灵对象 但它们对您的代码产生了影响 你如何防止这种情况发生 有没有办法让对象知道

随机推荐

  • 戴尔r510服务器不显示,戴尔 服务器dell R510 与 dell R710 对比

    戴尔台式机DELL服务器R510与R710的区别 戴尔台式机DELL服务器R510和R710有好多相同之处 1 都是2U服务器 2 都是双CPU服务器 3 所用CPU都是INTEL5500系列CPU 4 所用内存也是同样型号 R410 R5
  • PTA(Basic Level) 1094 谷歌的招聘

    2004 年 7 月 谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌 如下图 用于招聘 内容超级简单 就是一个以 com 结尾的网址 而前面的网址是一个 10 位素数 这个素数是自然常数 e 中最早出现的 10 位连续数字 能找出这个
  • 【点云】Large-scale Point Cloud Semantic Segmentation with Superpoint Graphs

    目录 1 摘要 2 介绍 3 方法 3 1 基于全局能量的集合分割 3 2 建立超点图 3 3 嵌入超点 3 4上下文分割 1 摘要 我们提出一个基于深度学习的框架 来解决大规模点云的语义分割问题 我们认为点云的组织形式可以被SPG Sup
  • 简单了解单点登录及实现方案

    代码演示基于springboot 一 单应用单节点登录认证 任何一个应用系统都离不开登录认证过程 实现登录认证主要目的是对系统的权限管理 在单应用单节点下常用做法通常采用session认证机制 其主要流程如下 客户端访问登录接口 传递用户名
  • i219-v不支持服务器,网络适配器中找不到Intel(R) Ethernet Connection I219-V该怎么解决?在虚拟机配...

    是因为网络适配器权限问题 1 打开网络连接 如下图 2 打开本地连接的属性 选择高级菜单 并将Internet连接共享的勾都打上 3 然后选择无线网卡进行专用网络连接 4 设置之后 您可以看到本地连接有一个手形图标 表明它是一个共版享状态
  • 三极管饱和及深度饱和状态的理解和判断!

    三极管饱和问题总结 1 在实际工作中 常用Ib V R作为判断临界饱和的条件 根据Ib V R算出的Ib值 只是使晶体管进入了初始饱和状态 实际上应该取该值的数倍以上 才能达到真正的饱和 倍数越大 饱和程度就越深 2 集电极电阻 越大越容易
  • 单选按钮input[type=radio],加上disabled后按钮颜色失效,始终默认为灰色

    在前端使用单选按钮input type radio 时 渲染后台数据时将单选按钮设为不可修改 给input加上disabled后 按钮颜色变灰 且通过css修改样式也无法改变 通过百度尝试了类似以下方式的几种修改css样式的常用办法解决 但
  • 【Android学习】导入别人的Android项目到AS中

    更新 最好直接导入 有错误再根据对应错误修改 学习阶段 下载学习他人的项目是必不可少的一步 但是新手又常常会遇到各种奇葩的问题 问题不可怕 可怕是自己退缩 总结下自己的一些经验 望对后来的你有所帮助 一 快速更改 在移植别人项目之前 最好先
  • 华为机试题69-矩阵乘法

    描述 如果A是个x行y列的矩阵 B是个y行z列的矩阵 把A和B相乘 其结果将是另一个x行z列的矩阵C 矩阵的大小不超过100 100 输入描述 第一行包含一个正整数x 代表第一个矩阵的行数 第二行包含一个正整数y 代表第一个矩阵的列数和第二
  • 20210220--CTF小笔记之常见的md5碰撞

    欢迎大家一起来Hacking水友攻防实验室学习 渗透测试 代码审计 免杀逆向 实战分享 靶场靶机 求关注 0e开头的md5和原值 QNKCDZO 0e830400451993494058024219903391 s878926199a 0e
  • 小程序内嵌webview实现支付

    点击上方 青年码农 关注 回复 特效源码 可获取各种资料 目前的一个小程序项目需要把客户之前的h5页面嵌入到现在的小程序中 并且之前的支付功能要正常 小程序提供了webview开放能力供我们使用 但是不允许在webview直接调起微信支付
  • 重载的分析

    前言 在c 中 出现重载的概念 其实就是一个高级语言的象征 他的出现就是机器语言更加的自然化 他其实可以理解位我们自然语言中的动词 它可以和不同的名词起到不同的功能 重载 定义 用一个相同的函数名来定义不同的函数 重载的条件 参数的个数不同
  • CMSIS-RTOS的信号量使用备忘

    说明 因为要使用CMSIS RTOS的信号量 所以需要了解以下几点功能 1 接收信号量时 返回值的意思 2 接收信号量时 如果信号量容器不只为一 那么是否可以再次接收到 3 发送信号量是否有限制 带着以上问题做了一个测试程序 例一 程序代码
  • strace ltrace记录

    strace 安装 常用选项 报错 strace trace system calls and signals ltrace A library call tracer 安装 首次使用可能出现这个提示 就是没安装 yum y install
  • ubuntu 远程服务器文件与本地文件互传

    放在这里自学 cite https blog csdn net Iv zzy article details 109412198 1 从服务器下载文件到本地 scp r 远程服务器用户名 远程IP 需要下载的文件路径 本地存放文件路径 2
  • 金融分析与风险管理——资本资产定价模型

    金融分析与风险管理 资本资产定价模型 1 系统性风险与非系统性风险 2 资本资产定价模型 1 系统性风险与非系统性风险 在理论上 股票面临的风险可以抽象的划分为系统性风险与非系统性风险 系统性风险 不可分散风险 也称市场风险 通常是由于公司
  • 数据挖掘十大算法(一):决策树算法 python和sklearn实现

    学完到第三章 决策树 python代码实现的仅是ID3算法 sklearn为优化过的C4 5 这里做一个详细的总结包括 原理 代码 可视化 scikit learn实现 皆为亲自实践后的感悟 以下进入正文 早前简单了解了决策树的原理 然后为
  • clang与gcc的区别

    gcc g 和 clang clang 都是Linux操作系统中常用的C C 编译器 gcc g 是gnu标准下的Linux的编译器 clang是一个C 编写 基于LLVM Low Level Virtual Machine 底层虚拟机 是
  • QT 设置程序图标

    在qt应用程序中 我们能想到的图标一般就以下三种 icon种类 应用窗口左上角的 图标 setWindowIcon 状态栏上显示的图标 setWindowIcon 可执行程序本身的图标 两种设置方式 下面会讲 对于以上三种图标都该怎么样设置
  • 【PTA】判断一个数是否为回文数

    1 题目 如果一个数与它的反转数相等 则该数为回文数 输入一个数 判断是否为回文数 输入格式 输入一个数 输出格式 若XX是回文数 则输出 XX 是回文数 若不是 则输出 XX 不是回文数 输入样例1 6234326 输出样例1 62343