`
jianchen
  • 浏览: 336794 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

面试试题001-截取字符串

阅读更多
编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我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);
            }
        }
    }
}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics