import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class CustomDigit {
//方式一
public static String Switch(int num,int base) {//num转换的数字,base转换的进制
StringBuffer sb = new StringBuffer();
String all = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String digths = all.substring(0, base);//将要转换的进制字母对应表
Stack<Character> s = new Stack<Character>();
while(num != 0){
s.push(digths.charAt(num%base));
num/=base;
}
while(! s.isEmpty()){
sb.append(s.pop());
}
return sb.toString();
}
//方式二
public static String Switch2(int num,int radix){
return Integer.toString(num,radix);
}
public static void main(String[] args) throws Exception, IOException {
int num = 0;
int base = 0;
BufferedReader buf = null;
System.out.print("请输入要转换的数字:");
buf = new BufferedReader(new InputStreamReader(System.in));
num = Integer.parseInt(buf.readLine());
System.out.print("请输入要转换的进制:");
buf = new BufferedReader(new InputStreamReader(System.in));
base = Integer.parseInt(buf.readLine());
System.out.println(Switch(num, base));
}
自定义进制转换
最新推荐文章于 2024-01-08 22:39:46 发布