黑马程序员技术交流社区

标题: 帮忙找一下进制转换的问题所在谢谢 [打印本页]

作者: 范龙波    时间: 2013-4-4 21:48
标题: 帮忙找一下进制转换的问题所在谢谢
本帖最后由 范龙波 于 2013-4-4 23:20 编辑

class ZhuanHuan
{
        public static void tobin(int num,int base,int mov)                                                   //十进制转换多进制代码。
        {        char[] arr={'1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
                char[] sj=new char[32];
                int pos=sj.length;
               
                while (num!=0)
                {
                        int tem=num&base;
                        sj[--pos]=arr[tem];
                        num=num>>>mov;
                        
                }
                for(int x=pos;x<sj.length;x++)
                {
                        System.out.print(sj[x]);
                }
        }
        public static void two(int x)                                            //二进制转换 函数名two;
        {
                tobin(x,1,1);
        }
        public static void main(String[] ags)                           //主函数内容
        {
                two(3);
        }
}                                                                                       


作者: 范龙波    时间: 2013-4-4 21:57
本帖最后由 范龙波 于 2013-4-4 22:46 编辑

谢谢了,刚改了三个错误可是结果还是不对啊。
作者: 炉海佳    时间: 2013-4-4 22:27
一眼看我也没看出哪里错了,没办法就拿代码运行了,很明显的提示是你定义的是char类型 你写的是字符串  只要把char[] arr={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"}; 改成char[] arr={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};   char是单引号  String字符串是双引号
下面是提示
demo.java:4: 错误: 不兼容的类型
        {        char[] arr={"0","1","2","3","4","5","6","7","8","9","A","B","C"
,"D","E","F"};

         ^
  需要: char
  找到:    String
16 个错误
作者: 黑马_位志国    时间: 2013-4-4 22:34
char[] arr={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
字符类型数据应该用单引号,字符串类型数据用双引号
作者: 范龙波    时间: 2013-4-4 22:45
黑马_位志国 发表于 2013-4-4 22:34
char[] arr={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
字符类型数据应该用单引 ...

谢谢,改过来了 可是结果怎么是22啊,哪是不是出问题了?
作者: 范龙波    时间: 2013-4-4 22:48
炉海佳 发表于 2013-4-4 22:27
一眼看我也没看出哪里错了,没办法就拿代码运行了,很明显的提示是你定义的是char类型 你写的是字符串  只 ...

谢谢,为什么结果会是22 啊?
作者: 炉海佳    时间: 2013-4-4 22:53
怎么是22呢??  我的是11啊 代码没错啊 你再复制代码运行看看 或者再编译看看   我试了代码没问题   3的二进制就是11
作者: 黑马_位志国    时间: 2013-4-4 22:54
范龙波 发表于 2013-4-4 22:48
谢谢,为什么结果会是22 啊?

将那个&符号改为%就行啦
作者: 范龙波    时间: 2013-4-4 22:59
本帖最后由 范龙波 于 2013-4-4 23:02 编辑

知道了,后来把符号给该错了。{:soso_e113:}{:soso_e113:}{:soso_e113:},敲代码千万不能马虎啊,深有体会。看的我眼睛都直了。谢谢两位.
作者: 黄玉昆    时间: 2013-4-4 23:18
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
作者: 范龙波    时间: 2013-4-4 23:22
黄玉昆 发表于 2013-4-4 23:18
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢

嗯,该过来了。




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