栈与队列的实现(java)
发布网友
发布时间:2022-04-20 04:51
我来回答
共2个回答
热心网友
时间:2022-04-18 07:51
import java.util.Stack;
public class Translate {
//程序入口
public static void main(String[]args){
int n = Translate.translate(3467,8);
System.out.println("结果是:"+n);
}
public static int translate(int number, int base_num) {
//使用栈
Stack<Integer>stack = new Stack<Integer>();
while(number>0){
//压栈
stack.push(number % base_num);
number /= base_num;
}
int n = stack.size();
int val=0;
//依次出栈并合成结果(用我们熟悉的十进制表示,所以乘以10)
for(int i=0;i<n;i++){
val=val*10+stack.pop();
}
return val;
}
}
热心网友
时间:2022-04-18 09:09
public class NumberUtils {
public static String toString(int value,int radix){
StringBuilder ret=new StringBuilder();
translate(ret,value,radix);
return ret.toString();
}
private static void translate(StringBuilder ret, int value, int radix) {
int digit=value/radix;
if(digit>0){
translate(ret, digit, radix);
}
digit=value%radix;
ret.append(Character.forDigit(digit,radix));
}
public static void main(String[] args) {
System.out.println(toString(3467, 8));
}
}