天天看點

藍橋杯 10進制轉16進制的問題藍橋杯

@你在街頭流離,痛苦不堪

藍橋杯

10進制轉16進制的問題

問題描述

  十六進制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16個符号,分别表示十進制數的0至15。十六進制的計數方法是滿16進1,是以十進制數16在十六進制中是10,而十進制的17在十六進制中是11,以此類推,十進制的30在十六進制中是1E。

  給出一個非負整數,将它表示成十六進制的形式。

輸入格式

  輸入包含一個非負整數a,表示要轉換的數。0<=a<=2147483647

輸出格式

  輸出這個整數的16進制表示

樣例輸入

30

樣例輸出

1E

核心代碼

利用該代碼快速解題

String nums= Integer.toHexString((int) (num));

其他類型的轉化代碼:

java中進行二進制,八進制,十六進制,十進制間進行互相轉換。十進制轉成十六進制:integer.tohexstring(int i)。

十進制轉成八進制。integer.tooctalstring(int i)。

十進制轉成二進制。integer.tobinarystring(int i)。

十六進制轉成十進制。integer.valueof(“ffff”,16).tostring()。

八進制轉成十進制。integer.valueof(“876”,8).tostring()。

二進制轉十進制。integer.valueof(“0101”,2).tostring()。

整體代碼

import java.util.Scanner;

public class transform {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		 long num=in.nextLong();
			String nums= Integer.toHexString((int) (num));
			char[] num1=nums.toCharArray();
			for (int i = 0; i < num1.length; i++) {
			if ((int)num1[i] >= 97 && (int)num1[i] <= 122)
			num1[i] -= 32;
			}
			for (int i = 0; i < num1.length; i++) {
			System.out.print(num1[i]);
			}
	}

}
           

運算結果

藍橋杯 10進制轉16進制的問題藍橋杯

練習系統跑分

藍橋杯 10進制轉16進制的問題藍橋杯
藍橋杯 10進制轉16進制的問題藍橋杯

注意:

藍橋杯 10進制轉16進制的問題藍橋杯

注意

輸出的結果字母是大寫

是以 !

要把小寫轉化為大寫

代碼如下:

for (int i = 0; i < num1.length; i++) {
			if ((int)num1[i] >= 97 && (int)num1[i] <= 122)
			num1[i] -= 32;
			}
			for (int i = 0; i < num1.length; i++) {
			System.out.print(num1[i]);
			}
           

多多關照

本人第一次寫部落格,可能有些地方寫得不是夠好,請大家多多見諒!如果大佬們有什麼建議,或者是有更好的代碼,可以在評論區留言哦,大家互相學習,一起進步!謝謝大家!