高手解决的问题------------------结帖超快!!!!!!!!
程序如下所示:
是实现十进制转换为八进制和十进制转换为十六进制。
但是为什么不能实现十进制转换为十六进制呢?
StringBuffer的insert方法哪里用错了。还是别的原因,为什么?
那应该怎么样?
希望高手帮忙解决。
public class Test {
public static void main( String [] args )
{
int a=15;
System.out.println(ba(15));
//System.out.println(shiliu(15));
}
static int shiliu(int shiliu)
{
StringBuffer buf=new StringBuffer( 10 );
while( shiliu != 0 )
{
if( shiliu%16<10)
buf.insert(0,'a');
else if( shiliu%16==10)
buf.insert(0,'b');
else if( shiliu%16==11)
buf.insert(0,'c');
else if( shiliu%16==12)
buf.insert(0,'d');
else if( shiliu%16==13)
buf.insert(0,'e');
else if( shiliu%16==14)
buf.insert(0,'e');
else
buf.insert(0,'f');
shiliu=shiliu/16;
}
return Integer.parseInt(buf.toString());
}
static int ba(int ba )
{
StringBuffer buf=new StringBuffer( 50 );
while( ba != 0 )
{
buf.insert(0,ba%8);
ba=ba/8;
}
return Integer.parseInt(buf.toString());
}
}