黑马程序员技术交流社区
标题:
基础里关于进制转换的代码,不知道 是不是对的
[打印本页]
作者:
vincentgood
时间:
2014-4-10 15:50
标题:
基础里关于进制转换的代码,不知道 是不是对的
/*需求:在控制台输入一个数,然后转成一个16进制的在控制台输出
思路:通过&运算与右移实现
*/
import java.util.Scanner;
public class NumMenu
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);//新建扫描仪
System.out.println("请输入一个数字:");
int x=input.nextInt();
do
{
int y=x&15;//获得该数最后四位,通过&15获得,如果转换成8进制,就&7,去掉判断
if(y>9)
{
System.out.println((char)(y-10+'a'));//这里是通过ASSII码表来实现输出16进制中的字母,有一个强制转换的动作
}else{
System.out.println(y);
}
x=x>>>4;//这里要用无符号右移,否则可能会成无限循环,如果转换成8进制,就右移3位
}while (x!=0);//这里要用==号或者!=号,否则就成了赋值
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2