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

java 一個截取字符串的函數(shù)

 更新時間:2017年02月21日 21:53:19   投稿:mdxy-dxy  
java 編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。 要求不能出現(xiàn)截半的情況

編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。 但是要保證漢字不被截半個,如“我ABC”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,6,應(yīng)該輸出為“我ABC”而不是“我ABC+漢的半個”。

一、需要分析

1、輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串--------------》按照字節(jié)[byte]截取操作字符串,先將String轉(zhuǎn)換成byte類型
2、漢字不可以截半----------------------------------------------------------------------------------------------------------》漢字截半的話對應(yīng)字節(jié)的ASC碼為小于0的數(shù)值

二、技術(shù)難點

1、知道漢字截半的話對應(yīng)字節(jié)的ASC碼為小于0的數(shù)值
2、對字符串操作應(yīng)該都要面對的一個問題,字符串是否有效null, 字符串的長度0,1這種邊界處理

代碼實現(xiàn):

package com.itheima;

/**
 * 10、 編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。
 * 但是要保證漢字不被截半個,如“我ABC”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,6,應(yīng)該輸出為“我ABC”而不是“我ABC+漢的半個”。
 * 
 * @author 281167413@qq.com
 */

public class Test10 {

	public static void main(String[] args) {
		String srcStr1 = "我ABC";
		String srcStr2 = "我ABC漢DEF";

		splitString(srcStr1, 4);
		splitString(srcStr2, 6);
	}

	public static void splitString(String src, int len) {
		int byteNum = 0;

		if (null == src) {
			System.out.println("The source String is null!");
			return;
		}

		byteNum = src.length();
		byte bt[] = src.getBytes(); // 將String轉(zhuǎn)換成byte字節(jié)數(shù)組

		if (len > byteNum) {
			len = byteNum;
		}

		// 判斷是否出現(xiàn)了截半,截半的話字節(jié)對于的ASC碼是小于0的值
		if (bt[len] < 0) {
			String subStrx = new String(bt, 0, --len);
			System.out.println("subStrx==" + subStrx);
		} else {
			String subStrx = new String(bt, 0, len);
			System.out.println("subStrx==" + subStrx);
		}
	}

}

處理結(jié)果:

subStrx==我AB
subStrx==我ABC

相關(guān)文章

  • 教你用Springboot實現(xiàn)攔截器獲取header內(nèi)容

    教你用Springboot實現(xiàn)攔截器獲取header內(nèi)容

    項目中遇到一個需求,對接上游系統(tǒng)是涉及到需要增加請求頭,請求頭的信息是動態(tài)獲取的,需要動態(tài)從下游拿到之后轉(zhuǎn)給上游,文中非常詳細的介紹了該需求的實現(xiàn),需要的朋友可以參考下
    2021-05-05
  • java基于servlet編寫上傳下載功能 類似文件服務(wù)器

    java基于servlet編寫上傳下載功能 類似文件服務(wù)器

    這篇文章主要為大家詳細介紹了java基于servlet編寫上傳下載功能,類似文件服務(wù)器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • MyBatis-Plus3.x版本使用入門和踩過的坑

    MyBatis-Plus3.x版本使用入門和踩過的坑

    Mybatis-Plus是Mybatis的增強版,他只是在Mybatis的基礎(chǔ)上增加了功能,且并未對原有功能進行任何的改動,本文給大家說一下MyBatis-Plus3.x版本使用入門和踩過的坑,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • 基于springBoot配置文件properties和yml中數(shù)組的寫法

    基于springBoot配置文件properties和yml中數(shù)組的寫法

    這篇文章主要介紹了springBoot配置文件properties和yml中數(shù)組的寫法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java中實體與Map之間的相互轉(zhuǎn)換代碼示例

    Java中實體與Map之間的相互轉(zhuǎn)換代碼示例

    生活中經(jīng)常用到map數(shù)據(jù)與實體類的轉(zhuǎn)換,下面這篇文章主要給大家介紹了關(guān)于Java中實體與Map之間相互轉(zhuǎn)換的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • JAVA超級簡單的爬蟲實例講解

    JAVA超級簡單的爬蟲實例講解

    下面小編就為大家?guī)硪黄狫AVA超級簡單的爬蟲實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • java基于RMI遠程過程調(diào)用詳解

    java基于RMI遠程過程調(diào)用詳解

    這篇文章主要為大家詳細介紹了java基于RMI遠程過程調(diào)用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 基于java使用JavaMail發(fā)送郵件

    基于java使用JavaMail發(fā)送郵件

    這篇文章主要介紹了基于java使用JavaMail發(fā)送郵件 ,非常具有實用價值,需要的朋友可以參考下。
    2016-12-12
  • Java TreeSet實現(xiàn)學(xué)生按年齡大小和姓名排序的方法示例

    Java TreeSet實現(xiàn)學(xué)生按年齡大小和姓名排序的方法示例

    這篇文章主要介紹了Java TreeSet實現(xiàn)學(xué)生按年齡大小和姓名排序的方法,涉及java類型轉(zhuǎn)換、遍歷、比較等相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • Java 截取視頻資料中的某一幀作為縮略圖

    Java 截取視頻資料中的某一幀作為縮略圖

    最近項目中有一個需求,就是Java 截取視頻資料中的某一幀作為縮略圖,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評論

平潭县| 北海市| 和田县| 沭阳县| 手游| 连城县| 洛宁县| 阳新县| 含山县| 德惠市| 临武县| 南澳县| 阿巴嘎旗| 沙洋县| 大安市| 孟津县| 大兴区| 洪湖市| 高要市| 福建省| 张家口市| 邛崃市| 云浮市| 岫岩| 新化县| 乌兰浩特市| 西宁市| 武川县| 凤阳县| 岐山县| 武陟县| 石门县| 永福县| 乌审旗| 凤城市| 香河县| 阜康市| 边坝县| 舞钢市| 琼结县| 望都县|