/*
* 时间:2018-3-28
* 目的:practice
* 内容:利用Java String类输入输出回文数
* 1.用一个Java String类型的变量保存用户输入的数字或字符,编写代码进行倒序输出
* 2.接受用户在控制台中输入的字符,判断该字符是否符合“回文数特征”。
* */
import java.util.Scanner;
public class NumberOfPalindromes {
static Scanner read = new Scanner(System.in);// 扫描器
public static void main(String[] d) {
int option;//选项声明
// 输入
System.out.print("1.判断回文数\n2.字符倒序\n请任意输入一个选项:");//输入提示
option = read.nextInt();//选项输入
switch (option) {
case 1:
number();//调用回文数函数
break;
case 2:
Str();//调用字符倒序函数
break;
default:
System.out.println("输入错误!");//错误提示
}
}
static void number() {
// // 1.1数字
// System.out.print("请任意输入一个整数:");//输入提示
// int num = read.nextInt();//输入数字
// String s = String.valueOf(num);//数字转换为字符串
// char[] n;//定义一个新的字符数组
// n = s.toCharArray();//字符串存入字符数组n中
// for (int i = 0, j = n.length - 1; i <= j; i++, j--) {
// if (n[i] != n[j]) {//如果对称位不等就不是回文数
// System.out.print(num + "不是回文数。");
// break;
// } else if (i == j) {//直到比较完毕对称位都相同,若是偶数位数字就无法判断
// System.out.print(num + "是回文数。");
// }
// }
/*1.2数字*/
System.out.print("请任意输入一个整数:");
String s = read.next();//输入提示
char[] n;//定义一个新的字符数组
n = s.toCharArray();//字符串存入字符数组n中
for (int i = 0, j = n.length - 1; i <= j; i++, j--) {
char t = n[i];//对称位交换
n[i] = n[j];
n[j] = t;
}
String n1 = String.valueOf(n);//字符数组转字符串
int i=Integer.parseInt(n1);
if(i == Integer.parseInt(s)){
System.out.print(s+"是回文数。");//输出
}
else{
System.out.print(s+"不是回文数。");//输出
}
}
static void Str() {
// 2字符倒序
System.out.print("请任意输入任意长度的数字或者字符:");
String s = read.next();//输入提示
char[] n;//定义一个新的字符数组
n = s.toCharArray();//字符串存入字符数组n中
System.out.println("倒序中……");
for (int i = 0, j = n.length - 1; i <= j; i++, j--) {
char t = n[i];//对称位交换
n[i] = n[j];
n[j] = t;
}
String n1 = String.valueOf(n);//字符数组转字符串
System.out.print(n1);//输出
}
}
运行结果