Discuss / Java / 写的有些麻烦,希望大家能提出修改的意见

写的有些麻烦,希望大家能提出修改的意见

Topic source

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();

}

}

}


  • 1

Reply