package com.itranswarp.learnjava;
import java.util.Deque;
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
String hex = toHex(12500);
System.out.println(hex);
if (hex.equalsIgnoreCase("30D4")) {
System.out.println("测试通过");
} else {
System.out.println("测试失败");
}
static String toHex(int n) {
// 商的表示
int m = 0;
Deque<String> stack = new LinkedList<>();
// 通过循环求解,当商为0时循环结束
while (n != 0) {
// 求余
m = n % 16;
// 新的商继续求余
n = n / 16;
// 余数压栈
stack.push(change(m));
//依此从栈中弹出元素
//定义StringBuilder型来拼接字符串
StringBuilder sb = new StringBuilder(1024);
for(int i=0; i <= 3; i++) {
sb.append(stack.poll());
String a = String.valueOf(sb);
return a;
//定义十六进制中数字与字母的转换函数
static String change(Integer b) {
switch(b) {
case 10:
return "A";
case 11:
return "B";
case 12:
return "C";
case 13:
return "D";
case 14:
return "E";
case 15:
return "F";
default:
return b.toString();
Sign in to make a reply
我是你爹币
package com.itranswarp.learnjava;
import java.util.Deque;
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
String hex = toHex(12500);
System.out.println(hex);
if (hex.equalsIgnoreCase("30D4")) {
System.out.println("测试通过");
} else {
System.out.println("测试失败");
}
}
static String toHex(int n) {
// 商的表示
int m = 0;
Deque<String> stack = new LinkedList<>();
// 通过循环求解,当商为0时循环结束
while (n != 0) {
// 求余
m = n % 16;
// 新的商继续求余
n = n / 16;
// 余数压栈
stack.push(change(m));
}
//依此从栈中弹出元素
//定义StringBuilder型来拼接字符串
StringBuilder sb = new StringBuilder(1024);
for(int i=0; i <= 3; i++) {
sb.append(stack.poll());
}
String a = String.valueOf(sb);
return a;
}
//定义十六进制中数字与字母的转换函数
static String change(Integer b) {
switch(b) {
case 10:
return "A";
case 11:
return "B";
case 12:
return "C";
case 13:
return "D";
case 14:
return "E";
case 15:
return "F";
default:
return b.toString();
}
}
}