回文数,将数字反转在对比,是否相同
public class palindromicNumber {
public static void main(String[] args) {
Palindromic palindromic = new Palindromic();
palindromic.testPalindromic(9898989);
}
}
上面是测试:
//--------------------
下面是分装"回文"的方法:
class Palindromic {
public void testPalindromic(Integer number) {
Integer num = number;// 输入的数字
System.out.println("初始输入的信息: "+num);
if(num < 0){
System.out.println("对不起,你输入的负数,负数不属于'回文数'");
return;
}
String str = num.toString();// 转化为字符串
int[] intArray = new int[str.length()];// 新建一个数组用来保存num每一位的数字
for (int i = 0; i < str.length(); i++) {
// 遍历str将每一位数字添加如intArray
Character ch = str.charAt(i);
//## 变成字符串,存入数组中
intArray[i] = Integer.parseInt(ch.toString());//要点toString,不然就是传地址进去
}
/*检验
for (int i = 0; i < intArray.length; i++) {
// 遍历打印int[],察看运行结果.
System.err.print("转化前 : " + intArray[i] + " " + "\t");
}*/
for (int i = 0; i <= intArray.length / 2; i++) {
int temp = intArray[i];
intArray[i] = intArray[intArray.length - 1 - i];
intArray[intArray.length - 1 - i] = temp;
}
/*检验
for (int i = 0; i < intArray.length; i++) {
System.out.print("转化后 : " + intArray[i] + " ");
}*/
String arrayToString = Arrays.toString(intArray);
String r = arrayToString.replace("[", " ");
String r2 = r.replace("]", " ");
String trim = r2.trim();
String r3 = trim.replace(",", " ");
String r4 = r3.replace(" ", "");
Integer num2 = Integer.parseInt(r4);
System.out.println("回文后的信息: "+num2);
if (num.equals(num2)){
System.out.println("是否是回文数: "+true);
}else {
System.out.println("是否是回文数: "+false);
}
}
}
//---------------------------------------
下面和"回文"无关:
//int类型数--组变成--Integer类型数组
class Test{
public void a (){
int[] nums = {1,2,3,4,5,6};
Integer newNums[] = Arrays.stream(nums).boxed().toArray(Integer[]::new);
System.out.println(newNums.toString());
}
}