题解: 通过do while循环判断数字n/10依次判断是否循环进行到最后,使用do while可以保证n只有一位时也可以计算

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int n = sc.nextInt();
          // 最终输出的数
            int m = 0;
          // 当前数字所在的位数
            int q = 1;
           do{
                 // 从右起当前数位为偶数,变为0,不需要累计该位置上     
                  if( n % 10 % 2 == 0){
                       n = n /10;
                     // 从个位起的第几位
                       q *= 10;
                   } else{
                     // 从右起当前数位为奇数,变为1,直接加上该数位即可 
                       m = m  + q;
                       n = n / 10;
                       q *= 10;
                   } 
           }while(n != 0);
               System.out.println(m);
        }
    }
}