黑马程序员技术交流社区

标题: 为什么打印出来是67而不是C 已解决 [打印本页]

作者: 金_鑫    时间: 2012-8-14 19:33
标题: 为什么打印出来是67而不是C 已解决
本帖最后由 金_鑫 于 2012-8-15 23:06 编辑


public static void main(String[] args)
{
  int num = 60;
  //获取60的最低4位,通过&15.
  int n1 = num & 15;
       System.out.println(n1>9?(char)(n1-10+'A'):n1);


作者: 陈鑫    时间: 2012-8-14 19:37
本帖最后由 陈鑫 于 2012-8-14 19:38 编辑

因为你打印出来的是 char 类型数据。char类型的默认toString 方法打出的是其ascii码值。C的ascii码是67.
如果想打出"C".请把它转成String类型
作者: 陈鑫    时间: 2012-8-14 19:50
楼主,你找到答案也不用把问题编辑没吧- -。还等着加点技术分啊。太不厚道了
作者: 田向向    时间: 2012-8-14 21:24
我只能说你赢了
作者: 金_鑫    时间: 2012-8-15 22:57
田向向 发表于 2012-8-14 21:24
我只能说你赢了

刚问完自己就明白了、想删这帖子不会,就这么删的 丢人了:L
作者: 金_鑫    时间: 2012-8-15 23:02
陈鑫 发表于 2012-8-14 19:50
楼主,你找到答案也不用把问题编辑没吧- -。还等着加点技术分啊。太不厚道了 ...

技术含量低不一定能加,但是谢谢你的回答 我再弄出来吧哈哈
作者: 金_鑫    时间: 2012-8-15 23:07
陈鑫 发表于 2012-8-14 19:50
楼主,你找到答案也不用把问题编辑没吧- -。还等着加点技术分啊。太不厚道了 ...

给你加分了 哈哈




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2