这题我做过!这是我的做法,不一定是最好的做法。但是可以运行出来!- package cn.itheima;
- import java.io.UnsupportedEncodingException;
- import java.util.Scanner;
- public class Test10 {
- /**
- * @param args
- * @throws UnsupportedEncodingException
- */
- /**
- * 思路:1.先将输入的字符串转换成字符数组,然后遍历字符数组
- * 2.遍历的同时记录字节数,如果字节数小于要求的字节数就加入到预先定义的字符串中
- * 3.遍历结束后输出字符串
- */
- public static void main(String[] args) throws UnsupportedEncodingException {
-
- String str;//记录用户输入字符串
-
- int count;//记录用户输入的截取字节数
-
- StringBuffer newstr = new StringBuffer();//定义结果字符串
-
- int index=0;//用于记录遍历时字节的长度
- //获取用户输入信息
- Scanner scan = new Scanner(System.in);
- System.out.println("请输入一个字符串:");
- str = scan.nextLine();
- System.out.println("请输入截取的字节数:");
- count = scan.nextInt();
-
- char [] strChars = str.toCharArray();
- for(char ch : strChars){
- String s = "";
- s = s.valueOf(ch);
- int i = s.getBytes().length;//记录每个字符的字节数
- index =index + i;//这里需要先进行计数,在进行判断
- //如果记录数小于或是等于要求的字节数,就将字符累加
- if(index<=count){
- newstr.append(s);
-
- }
- }
-
- System.out.println("新字符串为:"+newstr);
- }
- }
复制代码 |