A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/**
其他进制转换为十进制
思路:先将数字转为字符,再将字符赋值给数组,再根据公式a[i]*Math.pow(a,i)数组相加
*/
class  OtherSystermToDecilmal
{
        public static void main(String[] args)
        {  f("111",2);//调用f()函数实现二进制转为十进制
      f("123",10);//调用f()函数实现十进制转为十进制
       f("123",8);//调用f()函数实现八进制转为十进制
            f("123",16);//调用f()函数实现16进制转为十进制
        }
                public static void  f(String str,int x)
        {
               
        char [] charArray=str.toCharArray();
        double []a=new double[charArray.length];
        for (int i=charArray.length-1;i>=0;i-- )
        {  
                a[charArray.length-1-i]=charArray[i]-48;//实现字符串的数组化并反向输出数组
        }
       
                double b[]=new double[a.length];
                for (int j=0; j<a.length;j++ )
     {       b[j]=Math.pow(x,j)*a[j];//调用Math.pow()函数
                }
                sum(b);//调用sum()函数
               
        }
        public static void  sum(double []c)//自定义sum()完成数组内数字的叠加,
                {double sum=0;
        for (int i=0; i<c.length;i++ )
        {sum=sum+c[i];
        }
        System.out.print(sum);
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马