最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java案例實戰(zhàn)之字符串轉(zhuǎn)換為二進制

 更新時間:2023年06月13日 14:49:55   作者:滅掉c與java  
最近遇到個需求,要求編寫一個程序,從鍵盤錄入一個字符串,將字符串轉(zhuǎn)換為二進制數(shù),下面這篇文章主要給大家介紹了關(guān)于java字符串轉(zhuǎn)換為二進制的相關(guān)資料,需要的朋友可以參考下

任務描述

本例要求編寫一個程序,從鍵盤錄入一個字符串,將字符串轉(zhuǎn)換為二進制數(shù)。在轉(zhuǎn)換時,將字符串中的每個字符單獨轉(zhuǎn)換為一個二進制數(shù),將所有二進制數(shù)連接起來進行輸出。

案例在實現(xiàn)時,要求使用Math類、String類以及Scanner等常見Java API的常用方法.

運行結(jié)果

案例任務

  • 學會分析“十進制轉(zhuǎn)化成二進制”任務的實現(xiàn)思路。
  • 根據(jù)思路獨立完成“十進制轉(zhuǎn)化成二進制”任務的源代碼編寫、編譯及運行。
  • 掌握String類、Math類及Scanner類中常用方法的使用。
  • 掌握之前學習的雙重for循環(huán)以及數(shù)組的相關(guān)知識。

案例思路

(1) 分析任務描述可知,鍵盤錄入要轉(zhuǎn)化的字符串。用Scanner實現(xiàn)。

(2)定義一個二維數(shù)組。其中4代表每一行長度。ss.length()根據(jù)鍵盤錄入的字符串表示有多少行。     

(3)利用for循環(huán)遍歷字符串,遍歷后用String的charAt()方法獲取每個字符并轉(zhuǎn)化成int。char與int進行運算,char的數(shù)值要減去 48,因為ASCII碼中0的值是48,1就是49。

(4)轉(zhuǎn)化成int后再用for循環(huán)獲取每一個int類型的數(shù)進行轉(zhuǎn)化成二進制賦值給數(shù)組。其中Math.pow()方法是Math類中求冪的方法。

(5)最后用雙重for循環(huán)遍歷二維數(shù)組。將結(jié)果輸出到控制臺。

案例實現(xiàn)

//鍵盤錄入要轉(zhuǎn)化的字符串。用Scanner實現(xiàn)。
		  			Scanner sc = new Scanner(System.in);
		 			System.out.println("請輸入要轉(zhuǎn)換的字符串:");
		 			String ss = sc.nextLine();
		  			//定義一個二維數(shù)組。其中4代表每一行長度。ss.length()根據(jù)鍵盤錄入的字符串表示有多少行。
		  		    int [][] arr = new int[ss.length()][4];
		  			//利用for循環(huán)遍歷字符串,遍歷后用String的charAt()方法獲取每個字符并轉(zhuǎn)化成int。char與int進行運算,char的數(shù)值要減去 48,因為ASCII碼中0的值是48,1就是49。
		  			for (int i = 0; i < ss.length(); i++) {
		  				int charss = (int) ss.charAt(i)-48;
		  				for (int j = 0; j < 4; j++) {
		  					//轉(zhuǎn)化成int后再用for循環(huán)獲取每一個int類型的數(shù)進行轉(zhuǎn)化成二進制賦值給數(shù)組。其中Math.pow()方法是Math類中求冪的方法。
		  					arr[i][j] = (int)((charss/Math.pow(2, 3-j))%2);
		  				}
		  			}
		  			// 最后用雙重for循環(huán)遍歷二維數(shù)組。將結(jié)果輸出到控制臺。
		  			System.out.println("二進制的數(shù)是:");
		  			// 最后用雙重for循環(huán)遍歷二維數(shù)組。將結(jié)果輸出到控制臺。
		  			for (int i = 0; i < ss.length(); i++) {
		  				for (int j = 0; j < 4; j++) {
		  					System.out.print(arr[i][j]);
		  				}
		  			}

補充:Java中String與二進制碼的相互轉(zhuǎn)換

把字符串轉(zhuǎn)成二進制碼

public class stringTest {
    public static void main(String[] args) {
        String str = "abc";
        String binary = toBinary(str);
        System.out.println(binary);
    }
    public static String toBinary(String str){
        //把字符串轉(zhuǎn)成字符數(shù)組
        char[] strChar=str.toCharArray();
        String result="";
        for(int i=0;i<strChar.length;i++){
            //toBinaryString(int i)返回變量的二進制表示的字符串
            //toHexString(int i) 八進制
            //toOctalString(int i) 十六進制
            result +=Integer.toBinaryString(strChar[i])+ " ";
        }
        return result;
    }
}

結(jié)果:abc–>1100001 1100010 1100011

將二進制碼轉(zhuǎn)成字符串

public class stringTest {
    public static void main(String[] args) {
        String binary = "1100001 1100010 1100011";      
        System.out.println(toString(binary));
    }

    public static String toString(String binary) {
         String[] tempStr=binary.split(" ");
            char[] tempChar=new char[tempStr.length];
            for(int i=0;i<tempStr.length;i++) {
               tempChar[i]=BinstrToChar(tempStr[i]);
            }
            return String.valueOf(tempChar);
    }


    //將二進制字符串轉(zhuǎn)換成int數(shù)組
    public static int[] BinstrToIntArray(String binStr) {       
        char[] temp=binStr.toCharArray();
        int[] result=new int[temp.length];   
        for(int i=0;i<temp.length;i++) {
            result[i]=temp[i]-48;
        }
        return result;
    }


    //將二進制轉(zhuǎn)換成字符
    public static char BinstrToChar(String binStr){
        int[] temp=BinstrToIntArray(binStr);
        int sum=0;
        for(int i=0; i<temp.length;i++){
            sum +=temp[temp.length-1-i]<<i;
        }   
        return (char)sum;
   }
}

結(jié)果:1100001 1100010 1100011 –>abc

總結(jié)

到此這篇關(guān)于java字符串轉(zhuǎn)換為二進制的文章就介紹到這了,更多相關(guān)java字符串轉(zhuǎn)換為二進制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java結(jié)合Spark的數(shù)據(jù)清洗場景及對應的實現(xiàn)方法

    Java結(jié)合Spark的數(shù)據(jù)清洗場景及對應的實現(xiàn)方法

    在大數(shù)據(jù)處理中,數(shù)據(jù)清洗是非常重要的一步,數(shù)據(jù)清洗可以幫助我們?nèi)コK數(shù)據(jù)、處理缺失值、規(guī)范數(shù)據(jù)格式等,以確保數(shù)據(jù)質(zhì)量和準確性,在本文中,我們將介紹如何使用Java結(jié)合Spark框架來實現(xiàn)數(shù)據(jù)清洗,需要的朋友可以參考下
    2025-05-05
  • java處理轉(zhuǎn)義字符↑ → ↓ 保存后的展示還原操作

    java處理轉(zhuǎn)義字符↑ → ↓ 保存后的展示還原操作

    這篇文章主要介紹了java處理轉(zhuǎn)義字符↑ → ↓ 保存后的展示還原操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 關(guān)于jpa中無法刪除onetomany中many問題的解決

    關(guān)于jpa中無法刪除onetomany中many問題的解決

    這篇文章主要介紹了關(guān)于jpa中無法刪除onetomany中many問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • SpringBoot實現(xiàn)接口數(shù)據(jù)加解密的三種實戰(zhàn)方案

    SpringBoot實現(xiàn)接口數(shù)據(jù)加解密的三種實戰(zhàn)方案

    在金融支付、用戶隱私信息傳輸?shù)葓鼍爸?接口數(shù)據(jù)若以明文傳輸,極易被中間人攻擊竊取,Spring Boot 提供了多種優(yōu)雅的加解密實現(xiàn)方案,本文將從原理到實戰(zhàn),帶你掌握三種主流實現(xiàn)方式,需要的朋友可以參考下
    2025-05-05
  • Java編程線程間通信與信號量代碼示例

    Java編程線程間通信與信號量代碼示例

    這篇文章主要介紹了Java編程線程間通信與信號量代碼示例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • MyBatis自定義映射關(guān)系和關(guān)聯(lián)查詢實現(xiàn)方法詳解

    MyBatis自定義映射關(guān)系和關(guān)聯(lián)查詢實現(xiàn)方法詳解

    這篇文章主要介紹了MyBatis自定義映射關(guān)系和關(guān)聯(lián)查詢實現(xiàn)方法,當POJO屬性名與數(shù)據(jù)庫列名不一致時,需要自定義實體類和結(jié)果集的映射關(guān)系,在MyBatis注解開發(fā)中,使用@Results定義并使用自定義映射,使用 @ResultMap使用自定義映射
    2023-04-04
  • springboot?集成activemq項目配置方法

    springboot?集成activemq項目配置方法

    這篇文章主要介紹了springboot?集成activemq項目配置方法,e-car項目配置通過引入activemq依賴,本文結(jié)合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • SpringBoot使用RestTemplate實現(xiàn)HTTP請求詳解

    SpringBoot使用RestTemplate實現(xiàn)HTTP請求詳解

    這篇文章主要為大家詳細介紹了SpringBoot如何使用RestTemplate實現(xiàn)進行HTTP請求,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-03-03
  • 簡單介紹java中equals以及==的用法

    簡單介紹java中equals以及==的用法

    這篇文章主要介紹了簡單介紹java中equals以及==的用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • springboot+jwt+微信小程序授權(quán)登錄獲取token的方法實例

    springboot+jwt+微信小程序授權(quán)登錄獲取token的方法實例

    本文主要介紹了springboot+jwt+微信小程序授權(quán)登錄獲取token的方法實例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論

板桥市| 资溪县| 潜江市| 奉化市| 陇西县| 阜平县| 余江县| 利川市| 仙居县| 安陆市| 绥宁县| 色达县| 略阳县| 绿春县| 曲松县| 新龙县| 当雄县| 田林县| 正阳县| 长丰县| 滦平县| 青海省| 华容县| 桐庐县| 仁寿县| 泰兴市| 棋牌| 陇西县| 五大连池市| 富宁县| 云浮市| 黑山县| 台江县| 永吉县| 丹棱县| 霍州市| 大埔区| 灌南县| 云龙县| 陇西县| 岳池县|