任务描述
本关任务:判断一个给定的 5 位整数是否是一个回文数。
回文数介绍
“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中,也有具有这样特征的一类数字,称为回文数。
设 n 是一任意自然数,若将 n 的各位数字反向排列得到自然数 n1,如果 n1 与 n 相等,则称 n 为回文数。举例如下:
-
若 n = 12421 ,则称 n 为回文数;
-
但若 n = 12457,则 n 不是回文数。
import java.util.Scanner;
/**
* 任务:判断一个给定的 5 位数是否是一个回文数
*/
public class ApplicationTest {
/**
* 请在下面的 Begin - End 之间按照注释中给出的提示编写正确的代码
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 声明 int 类型的变量 num ,用来获取控制台输入
int num = scanner.nextInt();
/********** Begin **********/
// 第一步:获取个位数的数值
int cun[]=new int[100];
int i=-1;
while(num!=0){
i++;
cun[i]=num%10;
num/=10;
}
int start=0;
while(i>start){
if(cun[i]!=cun[start]){
System.out.print("不是回文数");
break;
}
i--;
start++;
}
if(i<=start)System.out.print("回文数");
注意i++必须在存入的前面,不然就会导致最开始的i是没有存数值的下标,导致错误。
最后的if条件不能忘记=,要包含所有情况,若是忘记了就会导致当=时没有输出,事实上应该要输出回文数的