/*程序功能,十进制转换为十六进制,先将十进制转换为二进制,再按每4个二进制对整数进行移位和去高位处理,得到的结果就是十六进制数的一位*/
public class Ten2
{
public static void main (String [] args)
{
Ten2 ten2 = new Ten2();
String str= "";
int num=1234;
str = ten2.toTwo(num);
ten2.toHexStringOne(str);
} static String toTwo (int num)
{
int len=0;
int LEN = 16;
int [] two=new int[LEN];
if(num > 65535 || (0-num) > 65535)
{
LEN = 32;
}
do
{
two[LEN-1-len] = (int)(num%2);
len++;
num = (int)(num/2);
}
while(num > 0);
return(String.valueOf(two));
}
public static void toHexStringOne(String dec)
{
int pos=32;
char[] buf=new char[32];
int num = Integer.parseInt(dec);
do
{
buf[--pos]=charArr[num&15];
num=num>>>4;
}
while(num!=0);
for(int i=0;i<buf.length; i++)
{
System.out.println(buf[i]);
}
}
}
public class Ten2
{
public static void main (String [] args)
{
Ten2 ten2 = new Ten2();
String str= "";
int num=1234;
str = ten2.toTwo(num);
ten2.toHexStringOne(str);
} static String toTwo (int num)
{
int len=0;
int LEN = 16;
int [] two=new int[LEN];
if(num > 65535 || (0-num) > 65535)
{
LEN = 32;
}
do
{
two[LEN-1-len] = (int)(num%2);
len++;
num = (int)(num/2);
}
while(num > 0);
return(String.valueOf(two));
}
public static void toHexStringOne(String dec)
{
int pos=32;
char[] buf=new char[32];
int num = Integer.parseInt(dec);
do
{
buf[--pos]=charArr[num&15];
num=num>>>4;
}
while(num!=0);
for(int i=0;i<buf.length; i++)
{
System.out.println(buf[i]);
}
}
}
java.lang.Integer的static String toHexString(int i) 方法就可以将10进制的数转换成16进制的,你直接调方法就可以了。不用你自己去写。
import java.lang.String;
import java.lang.Integer.*;public class Ten2
{ private static final char charArr[]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
public static void main (String [] args) //throws Exception
{
Ten2 ten2 = new Ten2();
String str= "";
int num=1234;
str = ten2.toTwo(num);
ten2.toHexStringOne(str);
}static String toTwo (int num)
{
int len=0;
int LEN = 16;
int [] two=new int[LEN];
if(num > 65535 || (0-num) > 65535)
{
LEN = 32;
}
do
{
two[LEN-1-len] = (int)(num%2);
len++;
num = (int)(num/2);
}
while(num > 0);
return(String.valueOf(two));
}
public static void toHexStringOne(String dec)
{
int pos=32;
char[] buf=new char[32];
int num = Integer.parseInt(dec);
do
{
buf[--pos]=charArr[num&15];
num=num>>>4;
}
while(num!=0);
for(int i=0;i<buf.length; i++)
{
System.out.println(buf[i]);
}
}
}
static String toTwo (int num)
{
...
return(String.valueOf(two));
}
的返回值上,String.valueOf()不接受数组参数,你的two分明就是一个数组嘛。