将一个数转换成小于它的任意进制(java版)

来源:互联网 发布:c语言疯狂讲义 pdf 编辑:程序博客网 时间:2024/05/22 00:06
//进制转换public class RadixChange1 {    public static void main(String[] args) {        Scanner can = new Scanner(System.in);        try {            String strs = can.nextLine();            //将输入的字符串转换成数字,存放到数组中            int[] nums = parseToIntArrs(strs);            //进制转换数组中的每个数            getResult(nums);        }finally{            can.close();        }    }    //进制转换数组中的每个数    private static void getResult(int[] nums) {        //循环开始依次转换        for (int i : nums) {            changeNums(i);        }    }    //从2开始到i-1依次转换    private static void changeNums(int i) {        int num = 0;        for (int j = 2; j < i; j++) {            toJRadix(i,j);        }    }    /*     * 把数字num转化为j进制,得到转换结果的位数     */    private static int toJRadix(int num,int j) {        StringBuffer sb = new StringBuffer();        int sum = 0;        while(num != 0){            int yu = num%j;            sb.append(yu);            sum += num%j;            num /= j;        }        System.out.println(j + "-------" + sb.reverse().toString());        return sum;    }    private static int[] parseToIntArrs(String strs) {        String[] sts =strs.split(" ");        int[] is = new int[sts.length];         for (int i = 0; i < sts.length; i++) {            is[i] = Integer.parseInt(sts[i]);        }        return is;    }}
阅读全文
0 0