java 将十进制转换成十六进制字符串
编写一个方法,将十进制转换成十六进制字符串,方法头如下:PublicstaticStringconvertDecimalToBinary(intvalue),使用十进制8...
编写一个方法,将十进制转换成十六进制字符串,方法头如下:Public static String convertDecimalToBinary ( int value ),使用十进制8、298、9123测试方法
展开
展开全部
import java.util.Scanner;
public class TentoSixteen{
private static StringBuilder sum = new StringBuilder();
private static int rulst; //定义一个结果,记录数与15的与运算结果,求得原数二进制最后四位的值
private static int count; //若数的二进制不止四位,定义一个数来记录除去后四位的新数,运用递归作用与rulst相同
private static void TtoSMethod1(int i) { //JDK自带的转化方法
String exchanged = Integer.toHexString(i);
System.out.println(exchanged);
}
private static void Sop() { //将得到的字符串反转
System.out.println(sum.reverse().toString());
}
private static void subim(int rulst) {//判断是否超出10,根据十六进制的规则超出10部分由字母ABCDEF代替
if(rulst<10) {
sum.append(rulst);
}else {
sum.append((char)('A'+(rulst-10)));//将int强制转换为char
}
}
private static void TtoSMethod2(int i) {
rulst =i&15;
if(i<(1<<4)&&i>=0) {//判断数有多少位,大于0小于16,则转换后打直接印
subim(rulst);
}else {//不止四位的数则用递归来多次运算
count=i>>4;//除去最后四位
subim(rulst);
TtoSMethod2(count);//递归直到count为0止
}
}
public static void main(String []args) {
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
System.out.println("请出入一个十进制数:");
int num = scan.nextInt();
TtoSMethod1(num);//自带方法
TtoSMethod2(num);//自定义方法,可将任意的十进制转化为十六进制
Sop();//输出
}
}
展开全部
public class Device {
public static void main(String[] args) {
System.out.println(convertDecimalToBinary(8));
System.out.println(convertDecimalToBinary(298));
System.out.println(convertDecimalToBinary(9123));
}
public static String convertDecimalToBinary(int value){
return Integer.toHexString(value);
}
}
public static void main(String[] args) {
System.out.println(convertDecimalToBinary(8));
System.out.println(convertDecimalToBinary(298));
System.out.println(convertDecimalToBinary(9123));
}
public static String convertDecimalToBinary(int value){
return Integer.toHexString(value);
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Public static String convertDecimalToBinary ( int value )
{
Stack<Integer> s=new Stack<Integer>();
int n=value;
String e="";
while(n!=0)
{
s.push(n%16);
n=n/8;
}
while(s.size()!=0)
{
int c=s.pop();
if(c>=10)
e+=(char)((int)('A')+(c-10));
else
e+=c;
}
return e;
}
{
Stack<Integer> s=new Stack<Integer>();
int n=value;
String e="";
while(n!=0)
{
s.push(n%16);
n=n/8;
}
while(s.size()!=0)
{
int c=s.pop();
if(c>=10)
e+=(char)((int)('A')+(c-10));
else
e+=c;
}
return e;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询