码迷,mamicode.com
首页 > 其他好文 > 详细

华为OJ平台——字符串分隔

时间:2016-06-18 18:33:54      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

题目描述:

连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组;

长度不是8整数倍的字符串请在后面补数字0,空字符串不处理

输入
  连续输入字符串(输入两次,每个字符长长度小于100)
输出
  输出到长度为8,的新字符串数组
样例输入
  abc
  123456789
样例输出
  abc00000
  12345678
  90000000

思路:

都是直接处理,没有具体的方法而言

注意点:

华为的OJ平台的输入输出有点坑,好多次的程序都在这里出问题,在Eclipse上运行的结果没问题,然后在OJ上就是编译出错或者格式错误什么的

本题中输入是以换行符来表示一个字符串的输入结束,输出是以每8个一组为一行输出

技术分享
 1 import java.util.Scanner;
 2 
 3 /**
 4  * 连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组;
 5  * 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理
 6  * 输入
 7  *         连续输入字符串(输入两次,每个字符长长度小于100)
 8  * 输出
 9  *         输出到长度为8,的新字符串数组
10  * 样例输入
11  *         abc
12  *         123456789
13  * 样例输出
14  *         abc00000
15  *         12345678
16  *         90000000
17  *
18  */
19 public class StringSplit {
20 
21     public static void main(String[] args) {
22         //读取输入字符串
23         String [] strs = new String [2] ;
24         Scanner cin = new Scanner(System.in) ;
25         strs[0] = cin.nextLine() ;
26         strs[1] = cin.nextLine() ;
27         cin.close();
28         
29         String temp ;
30         int sub = 0 ;
31         
32         //循环处理两个字符串
33         for(int i = 0 ; i < 2 ; i++ ){
34             //判断是否为空串(字符串首尾去除空格后判断长度是否为0),如果为空串则不处理
35             if(strs[i].trim().isEmpty()){
36                 continue ;
37             }
38             temp = strs[i] ;
39             //每8个一组进行处理
40             for(int j = 0 ; j < temp.length() ; j = j + 8){
41                 //判断 j 之后是否还有8个字符 
42                 if(j+8 < temp.length()){
43                     // j 之后的长度大于8
44                     System.out.println(temp.substring(j,j+8)) ;
45                 }else if(j+8 == temp.length()){
46                     // j 之后的长度等于8,即刚好是最后一个组,无需加0
47                     System.out.println(temp.substring(j)) ;
48                 }else{
49                     // j 之后的长度小于8,后面需要加(j+8-temp.length())个 0 
50                     System.out.print(temp.substring(j)) ;
51                     sub = j+8 - temp.length() ;
52                     while(sub != 0){
53                         System.out.print( "0") ;
54                         sub-- ;
55                     }
56                     System.out.println();
57                 }                
58             }    
59         }        
60 
61     }
62 
63 }
View Code

 

华为OJ平台——字符串分隔

标签:

原文地址:http://www.cnblogs.com/mukekeheart/p/5596508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!