java吧 关注:1,296,815贴子:12,831,757
  • 17回复贴,共1

新人求助。请前辈们为我解惑

只看楼主收藏回复

我在外面上班,自学的。这山望着Java山高。想开奥迪就指望Java了,今儿学到转十六进制。我的代码是:
class Test
{
public static void main(String[] args)
{
int num = 3567;
for (int x = 0; x<8; x++)
{
int n = num & 15;
if (n>9)
System.out.println((char)(n-10+'A'));
else
System.out.println(n);
num = num >>> 4;
}
}
}
——————————————————————————————————————
结果运行出来的结果是:
Test.java:50: 错误: 不兼容的类型: String无法转换为char
System.out.println((char)(n-10+"A"));
^
1 个错误
————————————————————————————————————————
请前辈们给我讲讲。 多谢了


IP属地:广东1楼2016-03-25 18:31回复
    我勒个去。这么快就下去了


    IP属地:广东2楼2016-03-25 18:35
    回复
      2026-02-03 20:58:41
      广告
      不感兴趣
      开通SVIP免广告
      不要这么快沉了好不


      IP属地:广东来自iPhone客户端3楼2016-03-25 18:50
      回复
        进来个大神阿。


        IP属地:广东来自iPhone客户端4楼2016-03-25 19:06
        回复


          IP属地:广东来自Android客户端5楼2016-03-25 19:08
          回复
            代码没问题,再细心检查一遍,肯定哪里写错了


            IP属地:广东来自Android客户端6楼2016-03-25 19:08
            收起回复
              谢谢大神。我怕打错搞乌龙 直接复制过来的。怎么回事呢。 是不跟我安装的是最新版java有关系?


              IP属地:广东来自iPhone客户端7楼2016-03-25 19:11
              回复
                不关那个事。。我写的代码都是照着你抄的。。你看看是不是哪里有双引号" "之类的


                IP属地:广东来自Android客户端8楼2016-03-25 19:13
                收起回复
                  2026-02-03 20:52:41
                  广告
                  不感兴趣
                  开通SVIP免广告
                  大家来看看阿


                  IP属地:广东来自iPhone客户端9楼2016-03-26 12:36
                  回复
                    java吧太火了 分分钟下去l


                    IP属地:广东来自iPhone客户端10楼2016-03-26 12:49
                    回复
                      我这么倒霉。碰不得个大神看到?


                      IP属地:广东来自iPhone客户端11楼2016-03-26 12:50
                      回复


                        IP属地:广东来自iPhone客户端12楼2016-03-26 13:16
                        回复
                          你这样是把十六进制反着输出了,改下:
                          int num = 3567;
                          String str="";//用于放十六进制
                          for (int x = 0; x<8; x++){
                          int n = num & 15;
                          if (n>9)
                          //System.out.print((char)(n-10+'A'));
                          str=(char)(n-10+'A')+str;
                          else
                          //System.out.print(n);
                          str=n+str;
                          num = num >>> 4;
                          }
                          System.out.println(str);


                          IP属地:上海13楼2016-03-26 14:38
                          收起回复
                            我知道是反了。只是想确定这个报错的原因。为什么


                            IP属地:广东来自iPhone客户端14楼2016-03-27 08:35
                            回复