Java回文数(大一交作业必备)

回文数作为一道入门算法题经常会出现在考试以及平时作业里面,一下是个人总结的回文数代码,区别于网上大部分。

import java.util.ArrayList;
import java.util.Scanner;

public class aaa {

    public static void main(String[] args){
        //用来倒倒序的数组
        ArrayList array=new ArrayList();
        //随机输一个数
        System.out.println("请输入一个数");
        Scanner sc=new Scanner(System.in);
        int randomNumber=sc.nextInt();
        //定义基本需要的数据类型,以及变量
         /*
         * count:用于计数以及倒序数组做准备
         * i:作为for循环的变量
         *coordinateNumber:作为中间协调的数字负责给数值传递数字
         * ultimateNumber:作为最后的结果
         * */
        int count=0,i,coordinateNumber=0,ultimateNumber=0;
        //1.以while为例先获取随机数的位数
        coordinateNumber=randomNumber;
        while (coordinateNumber!=0){
            coordinateNumber/=10;
            count++;
        }
        coordinateNumber=0;
        //tip:用于^转二进制注:异或运算   平方需使用函数math.pow平方
        //2.以位数为循环条件通过平方根的形式把每一位取出来,并且放到list数组里面
        for(i=count;i>0;i--){
            coordinateNumber=(randomNumber/(int)(Math.pow(10,i-1))%10);
            array.add(coordinateNumber);
        }
        //3.把协调的数字重置,再次投入到协调里面
        coordinateNumber=0;
        for (i=count;i>0;i--){
            //Ⅰ:把数以倒序取出
            coordinateNumber= (int) array.get(i-1);
            //Ⅱ:每位取出的数字乘以对应的位数
            coordinateNumber*=(Math.pow(10,i-1));
            //Ⅲ:最后加起来
            ultimateNumber+=coordinateNumber;
        }
        //4.最后判断
        if (randomNumber==ultimateNumber){
            System.out.println(randomNumber+"是回文整数");
        }else {
            System.out.println(randomNumber+"不是回文整数");
        }



    }
}

你可能感兴趣的:(java,java,servlet,jvm)