- 算法思想
偶数位数的回文数和奇数位数的回文数不同 , 可以做俩个方法来实现回文数的判定,借组数组来实现回文数的输入输出 ,. - 代码如下
package com.itheima.kuihuabaodian;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
Scanner num = new Scanner(System.in);
while (true){
System.out.println("请输入回文数的位数( 输入 0 退出):");
int a=num.nextInt();
if(a==0)
break;
if(a%2==0){
System.out.println("回文数共有"+huiWenO(a)+"位");
}else {
System.out.println("回文数共有"+huiWenJ(a)+"位");
}
}
}
public static int huiWenJ(int n){
int a=1,b=10;
int[] arr1=new int[n];
int numHuiWen=0;
for(int i=1;i<n;i++){
a*=10;
b*=10;
}
for (int i=a;i<b;i++){
int count=0;
int temp=i;
if(n%2!=0){
for(int j=n-1;j>-1;j--){
if (temp>9){
arr1[j]=temp%10;
temp/=10;
} else{
arr1[j]=temp;
}
}
int k=n/2;
for(int m=1;m<=n/2;m++){
if(arr1[k-m]==arr1[k+m]){
count++;
}
}
if(count==n/2){
System.out.println("回文数为:"+i);
numHuiWen++;
}
}
}
return numHuiWen;
}
public static int huiWenO(int n){
int a=1,b=10;
int[] arr1=new int[n];
int numHuiWen=0;
for(int i=1;i<n;i++){
a*=10;
b*=10;
}
for (int i=a;i<b;i++){
int count=0;
int temp=i;
if(n%2==0){
for(int j=n-1;j>-1;j--){
if (temp>9){
arr1[j]=temp%10;
temp/=10;
} else{
arr1[j]=temp;
}
}
for(int m=0;m<n/2;m++){
if(arr1[m]==arr1[n-m-1]){
count++;
}
}
if(count==n/2){
System.out.println("回文数为:"+i);
numHuiWen++;
}
}
}
return numHuiWen;
}
}
代码输出:
"D:\IDEA\IntelliJ IDEA 2019.3.3\jbr\bin\java.exe" "-javaagent:D:\IDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=52950:D:\IDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath D:\IDEA\IDEAcode\baseclass\out\production\day06code com.itheima.kuihuabaodian.Test02
请输入回文数的位数( 输入 0 退出):
3
回文数为:101
回文数为:111
回文数为:121
回文数为:131
回文数为:141
回文数为:151
回文数为:161
回文数为:171
回文数为:181
回文数为:191
回文数为:202
回文数为:212
回文数为:222
回文数为:232
回文数为:242
回文数为:252
回文数为:262
回文数为:272
回文数为:282
回文数为:292
回文数为:303
回文数为:313
回文数为:323
回文数为:333
回文数为:343
回文数为:353
回文数为:363
回文数为:373
回文数为:383
回文数为:393
回文数为:404
回文数为:414
回文数为:424
回文数为:434
回文数为:444
回文数为:454
回文数为:464
回文数为:474
回文数为:484
回文数为:494
回文数为:505
回文数为:515
回文数为:525
回文数为:535
回文数为:545
回文数为:555
回文数为:565
回文数为:575
回文数为:585
回文数为:595
回文数为:606
回文数为:616
回文数为:626
回文数为:636
回文数为:646
回文数为:656
回文数为:666
回文数为:676
回文数为:686
回文数为:696
回文数为:707
回文数为:717
回文数为:727
回文数为:737
回文数为:747
回文数为:757
回文数为:767
回文数为:777
回文数为:787
回文数为:797
回文数为:808
回文数为:818
回文数为:828
回文数为:838
回文数为:848
回文数为:858
回文数为:868
回文数为:878
回文数为:888
回文数为:898
回文数为:909
回文数为:919
回文数为:929
回文数为:939
回文数为:949
回文数为:959
回文数为:969
回文数为:979
回文数为:989
回文数为:999
回文数共有90位
请输入回文数的位数( 输入 0 退出):
2
回文数为:11
回文数为:22
回文数为:33
回文数为:44
回文数为:55
回文数为:66
回文数为:77
回文数为:88
回文数为:99
回文数共有9位
请输入回文数的位数( 输入 0 退出):
0
Process finished with exit code 0
- 分析
无.