JAVA练习:5.分支与循环语句1.1——回文数
本帖最后由 划句顾 于 2023-3-5 20:47 编辑实验要求:1.编写一个Java程序;
2.用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数;
3.判断这个数是否是回文数。
回文数:是指讲该数含有的数字逆序排列后得到的数和原数相同
运行结果如下:
package case_and_for;
import java.util.Scanner;
public class Number {
public static void main(String[] args) {
int number = 0,d5,d4,d3,d2,d1;
Scanner reader = new Scanner(System.in);
System.out.println("输入一个1至99999之间的数");
number = reader.nextInt();
if(number>0 && number<100000) {
d5 = number / 10000;
d4 = number % 10000 / 1000;
d3 = number % 1000/ 100;
d2 = number % 100 / 10;
d1 = number % 10;
if(d5>0)// 条件可以改成d5 != 0
{
System.out.println(number+"是5位数");
if((d1*10000+d2*1000+d3*100+d4*10+d5) == number ) //条件可以改成 d1 == d5 && d2 == d4
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
else if(d4>0) // 条件可以改成d4 != 0
{
System.out.println(number+"是4位数");
if((d1*1000+d2*100+d3*10+d4) == number )// 条件可以改成d1 == d4 && d2 == d3
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
else if(d3>0)// 条件可以改成d3 != 0
{
System.out.println(number+"是3位数");
if((d1*100+d2*10+d3*1) == number )//条件可以改成 d1 == d3
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
else if(d2>0) // 条件可以改成d2 != 0
{
System.out.println(number+"是2位数");
if((d1*10+d2) == number )// 条件可以改成 d1 == d2
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
else if(d1>0) // 条件可以改成d1 != 0
{
System.out.println(number+"是1位数");
System.out.println(number+"是回文数");
}
}
else {
System.out.printf("\n%d不在1至99999之间",number);
}
}
}
输入一个数返回它的回文数
方法如下:
第一种:
package hello;
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
// 初始化
Scanner in = new Scanner(System.in);
int number;
int a;
number = in.nextInt();
do
{
a = number % 10;
number = number / 10;
System.out.print(a);
}while(number > 0);
}
}
static/image/hrline/5.gif
第二种:
package hello;
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
// 初始化
Scanner in = new Scanner(System.in);
int number;
int a;
int result = 0;
number = in.nextInt();
do
{
a = number % 10;
number = number / 10;
result = a + result*10;//记录and相加
}while(number > 0);
System.out.println(result);
}
}
运行结果如下:
页:
[1]