判断整数是否是对称数

简介: 不使用转换为字符串的函数: import java.util.Scanner; /* 判断回文数 * 由用户输入一个整数,判断是不是回文数(完全对称的数),如果是 打印 true, 否则打印false * 提示:本题仅要求判断一个五位数是不是回文数 * 通过除法运算和求模运算符,可以分别求出一个五位数的每位上的值,然后进行比较。

不使用转换为字符串的函数:

import java.util.Scanner;

/*
 判断回文数
 *  由用户输入一个整数,判断是不是回文数(完全对称的数),如果是 打印 true, 否则打印false
 * 提示:本题仅要求判断一个五位数是不是回文数
 *             通过除法运算和求模运算符,可以分别求出一个五位数的每位上的值,然后进行比较。
 * Palindrome 回文数
 */
public class zuoye0352 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入要判断是否为回文数的数值:");
        int i=sc.nextInt();
        String str=""+i;
        if(str.length()%2==0){
            System.out.println(i+"不是回文数!"+str.length()%2);
         }
        //判断反转后 值是否相等 从而
        else if(i==fanzhuan(i)){
            System.out.println(i+"是回文数~");
        }
        else
            System.out.println(i+"不是回文数!");
    }
    private static int fanzhuan(int input) {
        int output = 0;//
        while(input>0){
            //output= output*10;
            output=output*10+input%10;
            input=input/10;
            
        }        
         return output;
}
}

转换为字符串后判断:

/**
* 对称数就是顺读和反读都一样吗,你可以用一个String接受用户输入,
* 然后把它反转,判断前后是不是equals就可以了。
* 例如 123321就是对称数
*/
public static void RegularNumberTest() {
String num1 = new Scanner(System.in).nextLine();
String num2 = “”;
for (int j = num1.length() – 1; j >= 0; j–) {
char a = num1.charAt(j);
num2 += a;
}
if (num2.equals(num1)) {
System.out.println(num1 + “是对称数.”);
}else{
System.out.println(num1 + “不是对称数.”);
}
}
相关文章
|
8月前
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求值最大的那个 给定n个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求值最大的那个 给定n个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一
|
8月前
|
Python
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
405 1
|
5月前
|
C++
C++产生N以内的随机整数
C++产生N以内的随机整数
27 0
|
8月前
对任意给定的两个正整数,100<n<m<1000,计算这两个数之间所有素数和,包含m,n自身
对任意给定的两个正整数,100<n<m<1000,计算这两个数之间所有素数和,包含m,n自身
58 0
对任意给定的两个正整数,100<n<m<1000,计算这两个数之间所有素数和,包含m,n自身
判断一个数是否是对称数(数组/非数组解法)
判断一个数是否是对称数(数组/非数组解法)
求整数序列中出现次数最多的数
求整数序列中出现次数最多的数
181 0
|
算法
算法练习——(1)找数组中唯一成对的那个数(异或)
——如何找数组中唯一成对的那个数(数组特殊) 1-1000这一千个数放在含有1001个元素的数组中,只有唯一的一个元素值重复,其他均只出现一次。 每个数组元素只能访问一次,设计一个算法,将他找出来;不用辅助储存空间,设计一个算法实现.
124 0
求出任意非负整数区间中1出现的次数
求出任意非负整数区间中1出现的次数
123 0