Java利用String特性判断回文数
版权申诉
90 浏览量
更新于2024-08-11
收藏 1KB TXT 举报
该资源包含了两个Java代码示例,用于判断一个整数是否为回文数,即该数字从前往后读和从后往前读是否相同。这两个代码都是通过将输入的整数转换为字符串来实现的,然后比较原字符串与反转后的字符串是否相等。
第一个Java代码实例:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int d = scan.nextInt();
String s = String.valueOf(d);
int n = s.length();
String s1 = "";
int i, j, flag = 0;
for (i = 0, j = n - 1; i < n && j >= 0; i++, j--) {
s1 += s.charAt(j);
}
System.out.println(n); // 输出字符串长度,实际判断回文数时可以去掉这行
if (s.equals(s1)) {
System.out.println("Y");
} else {
System.out.println("N");
}
scan.close();
}
}
```
这个代码首先使用`Scanner`从控制台获取输入的整数,然后将其转换为字符串`s`。接下来,通过`for`循环从后向前遍历字符串,构建反转后的字符串`s1`。最后,比较`s`和`s1`,如果它们相等,则输出"Y"表示是回文数,否则输出"N"。
第二个Java代码实例:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
String s = String.valueOf(N);
String s1;
StringBuffer sb = new StringBuffer(s);
s1 = new String(sb.reverse().toString());
System.out.println(s.length()); // 输出字符串长度,实际判断回文数时可以去掉这行
if (s.equals(s1)) {
System.out.println("Y");
} else {
System.out.println("N");
}
scan.close();
}
}
```
这个代码与第一个实例相似,但使用了`StringBuffer`类的`reverse()`方法来更高效地反转字符串。`StringBuffer`类是线程安全的,其`reverse()`方法会直接修改原对象,避免了创建新字符串带来的额外开销。因此,这种方法在处理大量数据时更高效。
总结来说,这两个Java程序的核心知识点包括:
1. Scanner类:用于从标准输入(如键盘)读取数据。
2. String类:用于表示和操作字符串,提供了多种字符串操作方法,如`valueOf()`用于将基本类型转换为字符串。
3. StringBuffer类:线程安全的字符串操作类,提供了`reverse()`方法来反转字符串。
4. 字符串比较:使用`equals()`方法比较两个字符串是否相等,注意这与`==`不同,`equals()`比较的是内容,`==`比较的是对象引用。
5. 字符数组访问:通过`charAt()`方法访问字符串中的特定字符。
6. 循环结构:`for`循环用于遍历字符串并构建反转字符串。
7. 条件判断:`if...else`结构用于判断字符串是否为回文数。
这两个代码片段都可以有效检测输入的整数是否为回文数,但第二个实例使用`StringBuffer`的方法更为高效。在实际编程中,应根据需求选择合适的方法。
5460 浏览量
1119 浏览量
2021-07-14 上传
2021-07-15 上传
2021-07-14 上传
2022-11-26 上传
2012-10-15 上传
2021-12-22 上传
2021-09-17 上传
小兔子平安
- 粉丝: 251
- 资源: 1940
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载