java从高到低取出数的每一位

来源:互联网 发布:slam包括的算法 编辑:程序博客网 时间:2024/06/06 19:15

输入任意位数,从高到低输出每一位

package com.lan.exercise20170604;import java.util.Scanner;/*习题1:1、输入一个3位的整型数,输入其百位、十位及个位数;提高:输入任意位数,从高到低输出每一位*/public class DivideTheDigit_1_1 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int n=0;System.out.println("输入一个三位数n:");n=scanner.nextInt();getEachBitFromHighestBit(n);}//统计数字的位数static int countNumbersOfBit(int n){int count=0;while(n>0){n=n/10;count++;}return count;}//计算最高位的基数static int cardinalNumber(int count){int tens=1;for(int i=0;i<count-1;i++){tens*=10;}return tens;}static void getEachBitFromHighestBit(int n){int tens=cardinalNumber(countNumbersOfBit(n));int firstbit=0;do{//缓存最后一位firstbit=n/tens;//除以最高位的基数就取得最高位System.out.println(firstbit);//System.out.println("nn="+nn);n=n-firstbit*tens;//减去最高位tens=tens/10;//减去最高位后基数在减少10倍}while(n>0);}}


原创粉丝点击