黑马程序员技术交流社区
标题:
其他进制转为10进制的思路与代码
[打印本页]
作者:
薛大千
时间:
2015-4-9 23:03
标题:
其他进制转为10进制的思路与代码
/**
其他进制转换为十进制
思路:先将数字转为字符,再将字符赋值给数组,再根据公式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);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2