实验二 (二) 判断回文数

(2)编写一个Java应用程序。用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。

如何从键盘输入一个数呢?

 1 package test;
 2 import java.util.Scanner;
 3 public class KeyboardInput {
 4     public static void main(String[] args){
 5         Scanner x = new Scanner(System.in);//构造一个Scanner对象,其传入参数为System.in
 6         System.out.println("请输入一个整数");
 7         int i = x.nextInt();//读取一个int数值
 8         System.out.println("你输入的数字是:"+i);
 9     }
10 }
 1 package hi;
 2 import java.util.Scanner;
 3 public class Palindrome {
 4     public static void main(String[] args){
 5         Scanner x = new Scanner(System.in);//构造一个Scanner对象,其传入参数为System.in
 6         System.out.println("请输入一个整数");
 7         int num= x.nextInt();//读取一个int数值
 8         int a1,a2,a3,a4,a5;
 9         a5=num/10000;
10         a4=num%10000/1000;
11         a3=num%1000/100;
12         a2=num%100/10;
13         a1=num%10;
14         if(a5!=0){
15             System.out.println(num+" is 5 digits");
16             if(a5==a1&&a2==a4){
17                 System.out.println(num+" is a palindrome");
18             }else{
19                 System.out.println(num+" is not a palindrome");
20             }
21         }
22         else if(a4!=0){
23             System.out.println(num+" is 4 digits");
24             if(a1==a4&&a2==a3){
25                 System.out.println(num+" is a palindrome");
26             }else{
27                 System.out.println(num+" is not a palindrome");
28             }
29         }
30         else if(a3!=0){
31             System.out.println(num+" is 3 digits");
32             if(a1==a3){
33                 System.out.println(num+" is a palindrome");
34             }else{
35                 System.out.println(num+" is not a palindrome");
36             }
37
38         }
39         else if(a2!=0){
40             System.out.println(num+" is 2 digits");
41             if(a1==a2){
42                 System.out.println(num+" is a palindrom");
43
44             }
45             else{
46                 System.out.println(num+" is not a palindrom");
47             }
48
49         }
50         else if(a1!=0){
51             System.out.println(num+" is 1 digits");
52             System.out.println(num+" is a palindrom");
53         }
54         else{
55             System.out.println(num+" is not between 0 and 99999");
56         }
57
58     }
59 }

原文地址:https://www.cnblogs.com/CheeseIce/p/10503156.html

时间: 2024-08-16 04:51:22

实验二 (二) 判断回文数的相关文章

ACM之判断回文数

题目如下 这道题比较简单,先上Python代码感受一下,就一行搞定: #判断回文数 def isPalindrom(x):     return  str(x) == str(x)[::-1] 这种方法虽然简单,但是耗时比较长.再用Java解决一下看看 方法一 显然负数不可能是回文数,区间[0,9]的整数肯定是回文数,所以把这些确定的条件先进行判断 将整数的每一位放在链表中,然后将链表逆序,比较逆序链表与顺序链表元素是否一样,一样则是回文数,否则不是 代码如下: public class Pal

C语言判断回文数

1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 //1.得到这个数字 2.翻转 3.进行比较 4.如果相同 就输出 是 否则 输出不是 6 7 int resource, result, re_tmp; //resource存放用户输入的数值 result存放翻转后的数值 re_tmp 存放用户输入的数值 在翻转的时候会用到 8 result = 0; //对result的初始化 9 printf("

Python基础判断回文数

#判断回文数 a=raw_input('your enter:\n')b=[]l=len(a)for i in range(0,l):    m=a[l-i-1]    b.append(m) for j in range(l):   mark=True   if a[j]!=b[j]:       print 'no'       mark=False       breakif mark==True:    print 'yes'

用c#判断回文数和降序数

题目:编一个程序,输入一个正整数,判定它是否为回文数和降序数.当输入的数为0时,则退出程序,否则继续循环执行程序. 所谓“降序数”是指一个自然数的低位数字不大于高位数字的数.例如: 64, 55, 321都认为是降序数,但是623不是降序数.一位数字被认为是降序数. 所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的.例如: 646,1551,891232198都认为是回文数. 具体实现代码如下: 1 string str; 2 bool a = true, b = true;/

判断回文数

import java.util.Scanner; public class PalindromicNumber { /** * 输入一个五位数判断是否为回文数 */ public static void main(String[] args) { Scanner s=new Scanner(System.in); System.out.println("请输入一个五位数"); int num=s.nextInt(); int ge=num%10; //ge表示个位上的数 int sh

Python练习题 025:判断回文数

[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ----------------------------------------------- 做题做到现在,这种题目已经很轻车熟路了.希望下一题能增加点难度啊~~~ x = input('请输入一个5位数:') if x[0] == x[4] and x[1] == x[3]: print('%s是个回文数' % x) else: print('%s不是回文数' % x) 输

(LeetCode)Palindrome Number -- 判断回文数

Determine whether an integer is a palindrome. Do this without extra space. 解题分析: 题目很简单,但是对于要求需要看清楚. Some hints: Could negative integers be palindromes? (ie, -1) If you are thinking of converting the integer to string, note the restriction of using ex

判断回文数算法

回文数是指正序(从左到右)读和倒序(从右到左)读都是一样的整数. 比如形如 121,1221,13531 的数字都是回文数,但 -121,10,25 等等都不是回文数. 如何判断一个数是回文数?这是一个很简单的算法,最常见的实现方式是使用一个栈或其他方法,把数字序列逆序,然后判断逆序后的数字是否等于原先的数字.显然这种实现方式需要至少 n 次循环才能完成判断. 本文提供一种更巧妙的方法,利用回文数的特点,只需要循环 \(\frac{n}{2}\) 次就可以完成判断了,代码及注释如下: bool

设计一个判断回文数的函数

回文数:回文数也是一个数字,数字的特点是正反序是同一个数字,例如:12321,3443,56765..... 代码如下: bool JudgeIsPalindromicNumber(int num) { int arr[20] = { 0 }; int i = 0,j=0,count=0; while (num) { arr[i] = num % 10; num = num / 10; count++; i++; } for (i = 0, j = count-1; i <= j; i++, j