今天博主带大家实现一下Integer。toBinaryString();这个方法,这个方法是把十进制转换为二进制数,这其中运用了堆栈的知识。
你可能会问,使用堆为什么不用stack,那么我要告诉你Deque代替了Stack!
代码献上:
public class MytoBinaryString {
public static void main(String[] args){
toBinaryString(13);
}
public static void toBinaryString(int n){
//n为被除数
int t = n;
int mod;
//创建堆来存储余数
Deque stack = new LinkedList();
do{
//获取余数
mod = t%2;
stack.push(mod);
//获取商
t = t / 2;
}while(t>0);
while(!stack.isEmpty()){
System.out.print(stack.pop());
}
}
}