题目要求
输入一个十进制整数,将这个数转化成对应的十五进制数(在十五进制中,A表示10,B表示11,C表示12,D表示13,E表示14),请写出转换程序。
例如:235表示为10A
代码实现
package test;
import java.util.ArrayList;
import java.util.Scanner;
public class Convert {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
int nextInt = sc.nextInt();
System.out.println(getResult(nextInt));
}
}
public static String getResult(int x) {
ArrayList<Integer> remainder = new ArrayList<>();
StringBuilder sb = new StringBuilder();
// 找到终点
while(x != 0) {
remainder.add(x % 15);
x /= 15;
}
// 反向输出
for(int i = remainder.size() -1; i>=0; i--) {
if(remainder.get(i) == 10) {
sb.append('A');
}else if(remainder.get(i) == 11){
sb.append('B');
}else if(remainder.get(i) == 12){
sb.append('C');
}else if(remainder.get(i) == 13){
sb.append('D');
}else if(remainder.get(i) == 14){
sb.append('E');
}else {
sb.append(remainder.get(i));
}
}
return sb.toString();
}
}