需求: 完成10个整数 与2进制,8进制,16进制的转换,并编程验证转换结果。
要求:不用笔算,而用编程实现,进制转换
该怎么编写呢?都过十二点了,还没想出来办法,头疼啊!!!:Q 作者: 焚雨成灰 时间: 2014-3-11 01:15
import java.util.*;
class HomeWork
{
public static void main(String[] args) //main方法,保证程序能够独立运行
{
Scanner in = new Scanner(System.in);
//这个程序的功能是完成10个整数向2,8,16进制的转换
int num; //输入的整数
System.out.println("这是第一题的答案:");
for(int i=0; i<10; i++)//一共循环10次
{
System.out.println("请输入第"+(i+1)+"个整数");
num = in.nextInt();
System.out.println("二进制形式为:"+Integer.toBinaryString(num));
System.out.println("八进制形式为:"+Integer.toOctalString(num));
System.out.println("十六进制形式为:"+Integer.toHexString(num));
System.out.println();
} 作者: 焚雨成灰 时间: 2014-3-11 01:26
最后少个}自行补上作者: 橸瑩膤漃寞林 时间: 2014-3-11 10:52
public class ArrayTest7 {
public static void main(String[] args) {
toBin(2);
System.out.println();
toHex(60);
System.out.println();
toOctonary(15);
}
public static void toBin(int num){
trans(num, 1, 1);
}
public static void toOctonary(int num){
trans(num, 7, 3);
}
public static void toHex(int num){
trans(num, 15, 4);
}
public static void trans(int num,int base, int offset){
char[] chs = {'0','1','2','3'
,'4','5','6','7'
,'8','9','A','B'
,'C','D','E','F'};
char[]arr = new char[32];
int pos = arr.length;
while (num!=0) {
int temp = num & base;
arr[--pos]= chs[temp];
num = num >>> offset;
}
for (int j = pos; j < arr.length; j++) {
System.out.print(arr[j]);