HWOJ按字节截取字符串

编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我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));
        }
    }  
}

你可能感兴趣的:(HWOJ按字节截取字符串)