华为OJ——按字节截取字符串
来源:互联网 发布:minecraft优化差 编辑:程序博客网 时间:2024/06/04 18:44
题目描述
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。
输入描述:
输入待截取的字符串及长度
输出描述:
截取后的字符串
输入例子:
我ABC汉DEF6
输出例子:
我ABC
import java.util.*;public class Main{public static void main(String[] args) {Scanner scan=new Scanner(System.in);String str=scan.nextLine();int count=scan.nextInt();byte[] bytes=str.getBytes();int n=count;for(int i=0;i<n;i++){//判断最后一个是不是汉字,如果是,不输出if(!(str.charAt(i)>=0 && str.charAt(i)<=127) && i==n-1){System.out.println();//如果汉字,记录为输出了2字节}else if(!(str.charAt(i)>=0 && str.charAt(i)<=127)){Character ch=str.charAt(i);System.out.print(ch);n--;}else{//不是汉字,也不是最后一个,直接输出Character ch=str.charAt(i);System.out.print(ch);}}}}方法二:
import java.util.*;public class Main{ public static void main(String[] args){ Scanner input = new Scanner(System.in); while(input.hasNext()){ String str = input.next(); int len = input.nextInt(); int count = 0; char[] arr = str.toCharArray(); String res = ""; for(int i = 0;i < arr.length;i++){ if(arr[i]<='z'){ count++; }else{ count += 2; } if(count>len){ break; } res += arr[i]; } System.out.println(res); } }}
0 0
- 华为OJ——按字节截取字符串
- 华为OJ——按字节截取字符串
- 华为OJ——Java按字节截取字符串
- 华为OJ——按字节截取字符串
- 华为OJ(按字节截取字符串)
- 【华为OJ】【088-按字节截取字符串】
- 华为OJ:按字节截取字符串
- [华为OJ--C++]088-按字节截取字符串
- OJ------按字节截取字符串
- 华为oj 按字节截取字符
- 华为机试-按字节截取字符串
- 【华为机试】按字节截取字符串
- 华为OJ——字符串运用-密码截取
- 华为OJ——字符串运用-密码截取
- 华为OJ——字符串运用-密码截取
- 华为机试练习---按字节数截取字符串
- 华为机试: 按字节截取字符串、超长正整数相加
- 华为oj--字符串截取(最长回文字符串)
- 集合间相互转换,浅谈相关内存管理,使用NSData处理数据,使用NSDate - iOS
- hibernate映射关系
- contentSize、contentInset和contentOffset区别
- 新的征程
- 使用freopen函数重定向输入流
- 华为OJ——按字节截取字符串
- <s:property value="">标签怎么将从后台获取的时间格式化成自己想要的样式
- 【深度学习:21天实战 Caffe】云盘资源更新
- C++中的虚继承
- web前端面试中常见的js基础又实用的知识回顾
- android-activity启动模式
- ArcGIS for Android加载栅格数据,缩放受限的问题
- 【白话设计模式四】组合模式(Composite)
- spring43.2学习