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语言深入的东西;
版权声明:本文为sbgunlun原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。