java入门案例:输入一个整数,获取奇数位,并重组为新的整数,前后顺序不变

import java.util.Scanner;
public class OddNumber {
    public static void main(String[] args) {
        //键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("输入正整数:");
        int inputNum = sc.nextInt();//input
        //获取输入数字的位数
        int place = (inputNum + "").split("").length;
        //计数器:在循环中记录获取到的数
        int number = 0;
        for (int i = 1; i <= place; i++) {
            //获取奇数位,并重新组成新的整数
            if (i % 2 != 0) {
                //用输入的数依次除以10的i次幂对10取余得到奇数位上的数
                //用每一位的数乘以10的i/2次幂后相加:比如:
                // i=1,number*Math.pow(10, 0)1/2
                // i=3,number*Math.pow(10, 1)3/2......
                number += (inputNum / (int)Math.pow(10, i - 1) % 10) * Math.pow(10, (i / 2));
            }
        }
        System.out.println(number);//输出新整数
    }
}

本例难点在于获取奇数位数字和重组新的数字计算中的逻辑,并没有JAVA语言深入的东西;

你可能感兴趣的:(java)