编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
byte[] b = str.getBytes();
int n = sc.nextInt();
//汉字是用两个字节存储,每个字节的最高位为1,也就是说组成汉字的两个字节都是负数,以此来判断是否为汉字
if(b[n]<0&&b[n-1]<0||b[n]<0&&b[n+1]<0){
System.out.println(new String(b,0, n-1));
}else{
System.out.println(new String(b,0, n));
}
}
}
网友评论