600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 输入为一个字符串和字节数 输出为按字节截取的字符串

输入为一个字符串和字节数 输出为按字节截取的字符串

时间:2022-02-24 02:45:36

相关推荐

输入为一个字符串和字节数 输出为按字节截取的字符串

package com.sytdc.cxl;

public class StringSplit2 {

/**

* 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。

* 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,

* 输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。

*

* @param args

*/

public static void main(String args[]){

String s = "ABC汉DEF";

int len = 3;

SplitStr(s,len);

}

public static void SplitStr(String str,int len){

String result = "";

char temp;

//取得的字节数

int counter=0;

int i=0;

//汉字个数

int han = 0;

while(counter < len){

temp = str.charAt(i);

//System.out.println(Character.getNumericValue(str.charAt(3)));

if(Character.getNumericValue(temp)!=-1){

//遇到字母的时候

result = result +temp;

counter++;

i++;

}else{

//遇到汉字的时候,作为unicode字符,汉字的整数值是-1

result = result +temp;

counter = counter +2;

i++;

han = han +1;

}

}

if(counter > len){

if(len ==1){

result = "";

}else{

result = result.substring(0,counter-(han+1));

}

}

System.out.println("result "+ result);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。