Java-------华为机试-------字符串分隔
来源:互联网 发布:阿尔法软件官方下载 编辑:程序博客网 时间:2024/05/01 10:41
题目描述
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
输入例子:
abc123456789
输出例子:
abc000001234567890000000
最终自己的AC代码是
解法二:import java.util.Scanner;/** * Created by user on 2017/4/18. */public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); //多组测试实例,所以用hasNext判断 while (in.hasNext()) { String str= in.nextLine(); int len=str.length(); //len位数组长度 int m=len/8; //最少可分割的组数 /* 下面嵌套循环,内层作用位分割为8个一组,外层循环确定组数 , “if”考虑特殊情况 */ for(int i=0; i<= m;i++){ if(i*8==len){ //是否已经分割完毕(其实就是特殊情况:len=8,16,24……) break; //是的话break跳出循环 } //下面输出,八个一组 for(int j=0; j<8; j++){ if(i*8+j<len)//判断是否字符串还没输出完 System.out.print(str.charAt(i*8+j)); //没输出完的字符串余下部分继续输出 else{ System.out.print("0"); //字符串已输出完但是这个子字符串输出位数不足8位的补“0” } } System.out.println();//换行。 } } }}
摘自http://www.cnblogs.com/qiaoyanlin/p/6607124.html ,
不过他没写注释,我在这里加了几句自己的注释
注释:substring()有两种用法import java.util.Scanner;/** * Created by user on 2017/4/18. */import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String s = new String(sc.nextLine()); if(s.length()%8 !=0 ) //如果不是八的倍数,字符串直接加八个“0”, s = s + "00000000"; // 明显字符串只要八个一组输出就可以啦; // 赞一个! while(s.length()>=8){ System.out.println(s.substring(0, 8)); //输出字符串“s”的前八个的子数组 s = s.substring(8); //s扔掉前8位,不懂的可以看我下面的substring()的解释 } } }}
str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;
简单说,就是
,只输出从下标为8的以后的子字符串,前八位不输出System.out.println( s.substring(8));
str=str.substring(int beginIndex,int endIndex);
截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str;
只输出从0-8的子字符串System.out.println(s.substring(0, 8));
其他的解法百度一大堆,但是太长太啰嗦。。。所以就不引用了。
0 0
- Java - 华为机试训练 - 字符串分隔
- Java-------华为机试-------字符串分隔
- 华为机试 字符串分隔
- 【华为机试】字符串分隔
- 华为机试——字符串分隔
- 华为机试题--字符串分隔
- 华为机试题--4.字符串分隔
- 【华为OJ4】字符串分隔
- 华为OJ(字符串分隔)
- 【华为OJ】【004-字符串分隔】
- 华为——字符串分隔
- [华为机试练习题]14.整数分隔
- 字符串分隔之机试
- Java - 华为机试训练 - 字符串反转
- 华为OJ——字符串分隔
- 华为在线训练之字符串分隔
- 华为OJ——字符串分隔
- 牛客网华为在线训练---字符串分隔
- 公司难做的很
- 判断Java实体对象为空
- Angular2 指令—路由指令
- python 计算MD5范例
- RobotFramework初识
- Java-------华为机试-------字符串分隔
- SVN检出项目,Eclipse中无法找到项目解决方案
- 基于JavaMail的Java邮件发送:复杂邮件发送
- Android
- 二分贪心 E
- GITHUB使用教程
- c#在最小化为托盘时,无法监听剪切板(clipboard)复制数据时候的变化
- oracle简单DDL的使用
- 1602液晶移动显示