Fragen zum Lanqiao Cup-Test - Grundlegende Übung Dezimal bis Hexadezimal

Ressourcenlimit Zeitlimit
: 1,0 s
Speicherlimit: 512,0 MB

Problembeschreibung Die
Hexadezimalzahl ist eine Darstellung einer Ganzzahl, die häufig im Programmdesign verwendet wird. Es hat 16 Symbole von 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F, die die Dezimalzahl 0 bis 15 darstellen. Die hexadezimale Zählmethode ist die vollständige hexadezimale 1, daher ist die Dezimalzahl 16 hexadezimal 10 und die dezimale Zahl 17 hexadezimal 11 usw. Die Dezimalzahl 30 ist hexadezimal. Das System ist 1E.
Geben Sie eine nicht negative Ganzzahl an und drücken Sie sie in hexadezimaler Form aus.

Die Eingabe im   
Eingabeformat umfasst eine nicht negative Ganzzahl a und repräsentiert eine zu konvertierende Zahl. 0 <= a <= 2147483647 Das
Ausgabeformat   
gibt die hexadezimale Ganzzahl-Eingabe aus. Beispiel 30 Beispielausgabe 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);
	}
}

Ich denke du magst

Origin blog.csdn.net/TroyeSivanlp/article/details/108685492
Empfohlen
Rangfolge