黑马程序员技术交流社区
标题:
十进制转二进制八进制及十六进制工具代码
[打印本页]
作者:
boycechan
时间:
2014-11-29 11:40
标题:
十进制转二进制八进制及十六进制工具代码
贴代码:
package JavaSE.practise;
import java.util.Scanner;
public class ArrayTest7 {
public static void main(String[] args) {
System.out.println("---欢迎使用进制转换工具---");
Scanner input = new Scanner(System.in);
String flag = "y";
do {
System.out.print("请输入一个十进制数:");
int num = input.nextInt();
System.out.print(num + "的二进制数是:");
toBin(num);
System.out.println();
System.out.print(num + "的八进制数是:");
toOct(num);
System.out.println();
System.out.print(num + "的十六进制数是:");
toHex(num);
System.out.println();
System.out.println("-------------------");
System.out.println("是否继续使用,'y'或'n'?");
flag = input.next();
} while ("y".equals(flag));
System.out.println("谢谢使用");
}
/**
* 进制转换方法
*
* @param num
* 参与转换的数字
* @param base
* “&”的位数
* @param offset
* 右移的位数
*/
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 x = pos; x < arr.length; x++) {
System.out.print(arr[x]);
}
}
/**
* 二进制转换
*/
public static void toBin(int num) {
trans(num, 1, 1);
}
/**
* 八进制转换
*/
public static void toOct(int num) {
trans(num, 7, 3);
}
/**
* 十六进制转换
*/
public static void toHex(int num) {
trans(num, 15, 4);
}
}
作者:
冬天的雪
时间:
2014-11-29 12:37
这是毕老师讲的视频里的内容
daima.png
(150.65 KB, 下载次数: 17)
下载附件
2014-11-29 12:37 上传
作者:
boycechan
时间:
2014-11-29 14:24
冬天的雪 发表于 2014-11-29 12:37
这是毕老师讲的视频里的内容
是的,加个手动输入而已:lol
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2