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

xiaoxiao2021-02-28  60

//进制转换 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; } }
转载请注明原文地址: https://www.6miu.com/read-57495.html

最新回复(0)