十进制 220 转换为二进制后为?
package 栈的利用;
import java.util.Scanner;
import java.util.Stack;
/***
* 数值转换
* 要求:将十进制数转换成指定进制数
* 解决:利用栈的思想将每次除余得值存在栈中,最后出栈输出
*
* */
public class 数值转换 {
private static Scanner in;
public static void main(String[] args) {
in = new Scanner(System.in);
while (true) {
System.out.println("输入十进制:");
String num = in.next();
System.out.println("转换到n进制:");
int n = in.nextInt();
String result = numTransform(num,n);
System.out.println(result);
}
}
private static String numTransform(String str, int n) {
//int a = Integer.valueOf("23").intValue();
int num = Integer.parseInt(str);
Stack<Integer> stack = new Stack<Integer>();
while(true){
stack.push((int)num%n);
if((int)(num/n)==0){
break;
}else{
num /= n;
}
}
StringBuffer res = new StringBuffer();
while(!stack.isEmpty()){
res.append(stack.pop());
}
return res.toString();
}
}