Java转换十进制为其他进制的两种方法
利用printf():view plaincopy to clipboardprint?
public class TigerNumberDemo {
public static void main(String[] args) {
// 输出 19 的十进制表示
System.out.printf("%d%n", 19);
// 输出 19 的八进制表示
System.out.printf("%o%n", 19);
// 输出 19 的十六进制表示
System.out.printf("%x%n", 19);
}
}
public class TigerNumberDemo { public static void main(String[] args) { // 输出 19 的十进制表示
System.out.printf("%d%n", 19); // 输出 19 的八进制表示
System.out.printf("%o%n", 19); // 输出 19 的十六进制表示
System.out.printf("%x%n", 19);
}}
利用Integer类方法:view plaincopy to clipboardprint?
public class NumberDemo {
public static void main(String[] args) {
// 十进制 19 转成二进制 10011
System.out.println(Integer.toBinaryString(19));
// 十进制 19 转成十六进制 13
System.out.println(Integer.toHexString(19));
// 十进制 19 转成八进制 23
System.out.println(Integer.toOctalString(19));
}
}
import java.util.*;
public class Change{
static int num = 0;
static int number;
static int[] stack = new int[100];
public static void push(int n){
stack[num++] = n;
}
public static int pop(){
return stack[--num];
}
public static void main(String[]args){
Scanner in = new Scanner(System.in);
System.out.println("请输入要转换的数据:");
int data = in.nextInt();
System.out.println("请输入进制数:")
int jinz= in.nextInt();
do{
number = data%jinz;
data = data/jinz;
push(number);
} while(data!=0);
while(num>0){
System.out.print(pop());
}
}
}
可以使用Integer类中提供的静态方法toBinaryString(int i); toHexString(int i); toOctalString(int i)分别将十进制数转成2、16、8进制。