更新時(shí)間:2020-08-18 16:09:25 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2439次
要求:
編寫(xiě)一個(gè)截取字符串的函數(shù),輸入為一個(gè)字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。但是要保證漢字不被截半個(gè),如“我ABC”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,6,應(yīng)該輸出為“我ABC”而不是“我ABC+漢的半個(gè)
基本知識(shí):
先了解下基本的單位:
1、比特(bit)即一個(gè)二進(jìn)制位,例如100011就是6比特。
2、字節(jié)(byte),這是計(jì)算機(jī)中數(shù)據(jù)類型最基本的單位了,8bit組成1byte。
java要確定每種基本類型所占存儲(chǔ)空間的大小,它們的大小并不像其它大多數(shù)語(yǔ)言那么隨機(jī)器硬件架構(gòu)的變化而變化。這種所占存存儲(chǔ)空間大小的不變性是java程序具有可移值性的原因之一。
java中的boolean長(zhǎng)度是1個(gè)字節(jié),實(shí)際上它只有1bit在起作用,其它的全部是0.
java的中基本類型數(shù)據(jù)的大小如下:
boolean 1-byte(實(shí)際上就是1bit在起作用)
char 2-bytes
byte 1-byte
short 2-bytes
int 4-bytes
long 8-bytes
float 4-bytes
double 8-bytes
一個(gè)英文字母、或一個(gè)漢字都是1個(gè)Unicode代碼單元,Unicode目前普遍采用的是UCS-2,它用兩個(gè)字節(jié)來(lái)編碼一個(gè)字符,一個(gè)字符在Unicode中就是一個(gè)代碼單元。
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編寫(xiě)測(cè)試程序,注意把文本編碼設(shè)置成GBK,否則得到的結(jié)果可能有所不同。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java截取字符串的面試題”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)