编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
package myjava;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;
public class SplitString {
public static void main(String[] args) {
while (true) {
BufferedReader sr = new BufferedReader(new InputStreamReader(System.in));
String str = null;
try {
str = sr.readLine(); //读取输入的字符串,输入以空格分隔的字串和截取的字节数
String[] strobject = str.split(" ");
int number = Integer.parseInt(strobject[1]);
str = strobject[0];
byte[] buf = str.getBytes();
if (buf[number - 1] < 0) { //判断最后一个字节是否是汉字的首字节
number++;
}
String newstr = new String(buf, 0, number);
System.out.println(newstr);
} catch (IOException ex) {
Logger.getLogger(SplitString.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}