华为OJ——按字节截取字符串

来源:互联网 发布:java volatile变量 编辑:程序博客网 时间:2024/06/06 01:16

题目描述

  编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如”我ABC”4,应该截为”我AB”,输入”我ABC汉DEF”6,应该输出为”我ABC”而不是”我ABC+汉的半个”。

  • 输入描述:

     输入待截取的字符串及长度

  • 输出描述:

     截取后的字符串

  • 示例1

     输入
      我ABC汉DEF
      6  
     输出
      我ABC

实现代码:

  • 注意:

    一个英文字符占一个字节,8位,最大值为256,一个汉字占两个字节

package cn.c_shuang.demo45;import java.util.Scanner;/** * 按字节截取字符串 * @author Cshuang * 一个英文字符占一个字节,8位,最大值为256,一个汉字占两个字节 */public class Main {    public static void main(String[] args){        Scanner in = new Scanner(System.in);        while(in.hasNext()){            String s=in.next();            int n=in.nextInt();            String out="";            for (int i = 0; i < n; i++) {                if(String.valueOf(s.charAt(i)).matches("[^a-zA-Z]")){                    if(i==n-1){                        break;                    }                    n--;                }                out+=s.charAt(i);            }            System.out.println(out);        }        in.close();    }}
原创粉丝点击