更新時間:2020-08-18 16:09:25 來源:動力節(jié)點 瀏覽2321次
要求:
編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。但是要保證漢字不被截半個,如“我ABC”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,6,應(yīng)該輸出為“我ABC”而不是“我ABC+漢的半個
基本知識:
先了解下基本的單位:
1、比特(bit)即一個二進制位,例如100011就是6比特。
2、字節(jié)(byte),這是計算機中數(shù)據(jù)類型最基本的單位了,8bit組成1byte。
java要確定每種基本類型所占存儲空間的大小,它們的大小并不像其它大多數(shù)語言那么隨機器硬件架構(gòu)的變化而變化。這種所占存存儲空間大小的不變性是java程序具有可移值性的原因之一。
java中的boolean長度是1個字節(jié),實際上它只有1bit在起作用,其它的全部是0.
java的中基本類型數(shù)據(jù)的大小如下:
boolean 1-byte(實際上就是1bit在起作用)
char 2-bytes
byte 1-byte
short 2-bytes
int 4-bytes
long 8-bytes
float 4-bytes
double 8-bytes
一個英文字母、或一個漢字都是1個Unicode代碼單元,Unicode目前普遍采用的是UCS-2,它用兩個字節(jié)來編碼一個字符,一個字符在Unicode中就是一個代碼單元。
public?String?splitString(String?src,?int?size){
????????String?result?=?new?String(src.getBytes(),?0,?size);
????????if(!src.startsWith(result)){
????????????result?=?new?String(src.getBytes(),?0,?size-1);
????????}
????????return?result;
????}
在這里要注意的是,如果用Eclipse編寫測試程序,注意把文本編碼設(shè)置成GBK,否則得到的結(jié)果可能有所不同。
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java截取字符串的面試題”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743