递归:
import java.util.Scanner; //import java.util.*; public class Main { public static String f(int base,int num){ String str=""; String wait="0123456789abcdef"; if(num==0){ return ""; } else{ str = f(base,num/base); return str+wait.charAt(num%base); } } public static void main(String[] args) { Scanner inp = new Scanner(System.in); System.out.println("想转化的十进制数:"); int input_10= inp.nextInt(); System.out.println("想转化的进制(2-16之间)"); int input_base= inp.nextInt(); System.out.println("转化为"+input_base+"进制的结果是1"); System.out.println(f(input_base,input_10)); } }
迭代:
package Test; import java.util.Scanner; //import java.util.*; public class Main { public static String conversion(int num ,int base) { String str = ""; int remainder;//余数 int consult = num;//商 while (consult > 0) { remainder = num % base; consult = consult / base; if (remainder > 9) { str = (char) ('a' + (remainder - 10)) + str; } else { str = remainder + str; } } return str; } public static void main(String[] args) { Scanner inp= new Scanner(System.in); System.out.println("要转化的十进制数"); int input_num = inp.nextInt(); System.out.println("想转化的进制"); int input_base = inp.nextInt(); System.out.println(conversion(input_num,input_base)); } }