Java利用String特性判断回文数
版权申诉
188 浏览量
更新于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`的方法更为高效。在实际编程中,应根据需求选择合适的方法。
46210 浏览量
670 浏览量
2021-07-14 上传
2021-07-15 上传
2021-07-14 上传
2022-11-26 上传
2012-10-15 上传
253 浏览量
2021-09-17 上传
小兔子平安
- 粉丝: 257
- 资源: 1940
最新资源
- vue websocket聊天源码
- 中国印象——古典韵味素雅中国风ppt模板.zip
- 国外高楼耸立的现代化城市与桥梁背景图片PPT模板
- 蓝色城市建设集团网页模板
- 图像增强.zip
- adf-adb-cicd-demo:用于Data Factory和Databricks的Azure DevOps yaml管道的示例
- gof:足球比赛,WnCC,STAB,IIT孟买的研究所技术暑期项目
- LT8618EX_EVB_20140312 - 2.zip
- 个人知识管理——中层经理人培训ppt模板.rar
- QT+QuaZip依赖库打包+可直接用
- 苹果电脑与职场人物背景图片PPT模板
- HDFS测试
- 个人情况及工作汇报人事岗位竞聘ppt模板.rar
- java源码查看-kentico-groupdocs-viewer-java-source:KenticoGroupDocsViewerfor
- FlutterBMICalculator:使用Flutter的简单BMI计算器移动应用
- 2000年第五次人口普查数据(Excel&光盘版).zip