第1关:练习-Java双路分支之判断回文数
任务描述
本关任务:判断一个给定的 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 i=num%10;
// 第二步:获取十位数的数值
int i1=num/10%10;
// 第三步:获取百位数的数值
int i2=num/100%10;
// 第四步:获取千位数的数值
int i3=num/1000%10;
// 第五步:获取万位数的数值
int i4=num/10000%10;
// 第六步:将获取的个位数值乘以 10000
int a=i*10000;
// 第七步:将获取的十位数值乘以 1000
int a1=i1*1000;
// 第八步:将获取的百位数值乘以 100
int a2=i2*100;
// 第九步:将获取的千位数值乘以 10
int a3=i3*10;
// 第十步:将获取的万位数值乘以 1
int a4=i4;
// 第十一步:将第六、七、八、九、十步转换后的数值相加
int a5=a+a1+a2+a3+a4;
// 第十二步:判断变量 num 是否等于第十一步的数值,如果等于,则在控制台输出“回文数”;反之,则输出“不是回文数”
if(num==a5){
System.out.println("回文数");
}else{
System.out.print("不是回文数");
}
/********** End **********/
}
}