黑马程序员技术交流社区

标题: 计算器那,有问题 [打印本页]

作者: 911288373    时间: 2012-12-12 18:04
标题: 计算器那,有问题
class JiSuanqi
{
        public static void main(String[] args)
                toBin(7);
                toBa(89);
                toHex(60);
}
{
        public static String trans(int num, int base,
                int offset)
        {
                if(num==0)
                {
                        System.out.println(0);
                        return;
                }
                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 toBa(int num)
        {
                trans(num,7,3);
        }
        public static void toHex(int num)
        {
                trans(num,15,4);
        }
}


主要是返回值的问题, 提示的错误 就是返回值。
作者: 911288373    时间: 2012-12-12 18:05
求解答。   谢谢
作者: super_Xiong    时间: 2012-12-12 19:06
你不是要返回字符串的类型的返回值嘛~~
现在你返回的是什么啊
作者: 911288373    时间: 2012-12-12 19:33
super_Xiong 发表于 2012-12-12 19:06
你不是要返回字符串的类型的返回值嘛~~
现在你返回的是什么啊

该怎么返啊?
  帮把代码改改?
作者: super_Xiong    时间: 2012-12-12 20:15
911288373 发表于 2012-12-12 19:33
该怎么返啊?
  帮把代码改改?

class JiSuanqi
{
        public static void main(String[] args)
        {
                toBin(7);
                toBa(89);
                toHex(60);
}

        public static void trans(int num, int base,
                int offset)//这里因为你里面是输出语句,所以不需要返回值,也没有返回接收啊
        {
                if(num==0)
                {
                        System.out.println(0);//不需要返回就不需要return;
                        
                }
                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.println(arr[x]);
                }
        }
        public static void toBin(int num)
        {
                trans(num,1,1);
        }
        public static void toBa(int num)
        {
                trans(num,7,3);
        }
        public static void toHex(int num)
        {
                trans(num,15,4);
        }
}

作者: 焦健    时间: 2012-12-12 20:37
你的这个代码已经在方法中输出结果了,不需要返回值的,我给你改了一下,你试试,
class  JiSuanqi
{
        public static void main(String[] args)
        {
                        toBin(7);
                toBa(89);
                toHex(60);
        }

        public static void trans(int num, int base, int offset)
        {
                  if(num==0)
              {
                      System.out.println(0);     
              }
                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]);
                        if(x==(arr.length-1))
                        {
                                System.out.println();
                        }
                }
        }
        public static void toBin(int num)
        {
               trans(num,1,1);
        }
        public static void toBa(int num)
        {
                trans(num,7,3);
        }
        public static void toHex(int num)
        {
                trans(num,15,4);
        }
}


作者: 911288373    时间: 2012-12-16 01:07
焦健 发表于 2012-12-12 20:37
你的这个代码已经在方法中输出结果了,不需要返回值的,我给你改了一下,你试试,
class  JiSuanqi
{

多谢多谢多谢多谢多谢多谢多谢多谢
作者: 911288373    时间: 2012-12-16 01:08
super_Xiong 发表于 2012-12-12 20:15
class JiSuanqi
{
        public static void main(String[] args)

多谢多谢多谢多谢多谢多谢多谢多谢
作者: 911288373    时间: 2012-12-16 01:09
super_Xiong 发表于 2012-12-12 20:15
class JiSuanqi
{
        public static void main(String[] args)

我这个, 前面马虎了, 括号写多了




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