一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java之實現十進制與十六進制轉換案例講解

Java之實現十進制與十六進制轉換案例講解

2021-11-10 12:57izwqing Java教程

這篇文章主要介紹了Java之實現十進制與十六進制轉換案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

寫了兩種十六進制轉十進制的方式,僅供參考。
基本思路:用十六進制中每一位數乘以對應的權值,再求和就是對應的十進制

方法一:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
 
public class Test {
    /**
     * @param: [content]
     * @return: int
     * @description: 十六進制轉十進制
     */
    public static int covert(String content){
        int number=0;
        String [] HighLetter = {"A","B","C","D","E","F"};
        Map<String,Integer> map = new HashMap<>();
        for(int i = 0;i <= 9;i++){
            map.put(i+"",i);
        }
        for(int j= 10;j<HighLetter.length+10;j++){
            map.put(HighLetter[j-10],j);
        }
        String[]str = new String[content.length()];
        for(int i = 0; i < str.length; i++){
            str[i] = content.substring(i,i+1);
        }
        for(int i = 0; i < str.length; i++){
            number += map.get(str[i])*Math.pow(16,str.length-1-i);
        }
        return number;
    }
    //測試程序
    public static void main(String... args) {
        Scanner input = new Scanner(System.in);
        String content = input.nextLine();
        if(!content.matches("[0-9a-fA-F]*")){
            System.out.println("輸入不匹配");
            System.exit(-1);
        }
        //將全部的小寫轉化為大寫
        content = content.toUpperCase();
        System.out.println(covert(content));
    }
 
}

利用了Map中鍵值對應的關系

方法二:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.util.Scanner;
 
public class Test2 {
    /**
     * @param: [hex]
     * @return: int
     * @description: 按位計算,位值乘權重
     */
    public static int  hexToDecimal(String hex){
        int outcome = 0;
        for(int i = 0; i < hex.length(); i++){
            char hexChar = hex.charAt(i);
            outcome = outcome * 16 + charToDecimal(hexChar);
        }
        return outcome;
    }
    /**
     * @param: [c]
     * @return: int
     * @description:將字符轉化為數字
     */
    public static int charToDecimal(char c){
        if(c >= 'A' && c <= 'F')
            return 10 + c - 'A';
        else
            return c - '0';
    }
    //測試程序
    public static void main(String... args) {
        Scanner input = new Scanner(System.in);
        String content = input.nextLine();
        if(!content.matches("[0-9a-fA-F]*")){
            System.out.println("輸入不匹配");
            System.exit(-1);
        }
        //將全部的小寫轉化為大寫
        content = content.toUpperCase();
        System.out.println(hexToDecimal(content));
 
    }
}

方法二利用了字符的ASCII碼和數字的對應關系

到此這篇關于Java之實現十進制與十六進制轉換案例講解的文章就介紹到這了,更多相關Java之實現十進制與十六進制轉換內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/iczfy585/article/details/92436181

延伸 · 閱讀

精彩推薦
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
主站蜘蛛池模板: 日韩一级片免费观看 | 欧美兽皇video | 美女大鸡鸡 | 成人黄色a级片 | 99超级碰碰成人香蕉网 | 免费特黄一区二区三区视频一 | 四虎精品免费国产成人 | 欧美国产日韩1区俺去了 | 护士们的母狗 | а天堂中文最新版在线 | 国产大片51精品免费观看 | 日韩精选视频 | 欧美日韩一区二区三区在线观看 | 日本人作爰啪啪全过程 | 99久久免费国产特黄 | 免费观看成年肉动漫网站 | 男女激情视频1000辣妞范 | 毛片小视频| 非洲特级特黄aa大片 | 欧美一区二区三区在线观看免费 | 亚洲精品在线播放 | 西野翔全部作品在线观看 | 日韩在线视频免费不卡一区 | 香蕉久久夜色精品国产小优 | www在线观看视频免费 | 男模chinesegayxxxx| 性xxx免费| 欧美人与物videos另类3d | 亚洲国产欧美在线人成aaaa20 | 性xxxx18学生第一次出血 | 九九热在线免费观看 | 91视频免费网站 | 99久久免费看国产精品 | 国产日韩欧美精品在线 | 日本一区二区三区在线 观看网站 | 天堂网在线网站成人午夜网站 | 日韩欧美国产免费看清风阁 | 日日夜夜撸影院 | 欧美3p大片在线观看完整版 | 69成人影院 | 免费永久观看美女视频网站网址 |