Preguntas de la prueba de la taza Lanqiao: práctica básica de decimal a hexadecimal

Límite de recursos Límite de
tiempo: 1,0 s
Límite de memoria: 512,0 MB

Descripción del problema El
número hexadecimal es una representación de un entero que se utiliza a menudo en el diseño de programas. Tiene 16 símbolos de 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F, que representan el número decimal de 0 a 15. El método de conteo hexadecimal es hexadecimal completo 1, por lo que el número decimal 16 es 10 en hexadecimal, y el decimal 17 es 11 en hexadecimal, y así sucesivamente, el decimal 30 está en hexadecimal El sistema es 1E.
Dar un número entero no negativo y expresarlo en forma hexadecimal.

La entrada de formato de   
entrada comprende un número entero no negativo a, representa un número a convertir. 0 <= a <= 2147483647
el formato de salida   
emite el entero hexadecimal muestra de entrada 30 muestra de salida 1E

import java.util.*;
 
public class Main {
    
    
	
	public static void main(String[] args) {
    
    
		Scanner sc = new Scanner(System.in);
		long a  = sc.nextLong();
		StringBuilder str = new StringBuilder();
		int x;
		if(a==0){
    
    
			System.out.println(0);
			return ;
		}
		while(a>0){
    
    
			x = (int) (a % 16);
			switch(x){
    
    
			case 10: str.append("A");break;
			case 11: str.append("B");break;
			case 12: str.append("C");break;
			case 13: str.append("D");break;
			case 14: str.append("E");break;
			case 15: str.append("F");break;
			default: str.append(String.valueOf(x));break;
			}
			a = a/16;
		}
		StringBuilder ans = new StringBuilder();
		for(int i=str.length()-1;i>=0;i--){
    
    
			ans.append(str.charAt(i)); 
		}
		System.out.println(ans);
	}
}

Supongo que te gusta

Origin blog.csdn.net/TroyeSivanlp/article/details/108685492
Recomendado
Clasificación