题解 | #字符串分隔#

字符串分隔

http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7

import java.util.*;

public class Main{
    
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            String str = scanner.nextLine();
            
            //方法一:利用StringBuffer缓冲将字符串切割
            //使用StringBuffer缓冲,是线程安全的
            StringBuffer strBuffer = new StringBuffer();
            //首先将输入的字符串放到缓冲中
            strBuffer.append(str);
            //根据题意使用默认长度 减去 当前输入字符串长度与默认长度的取余的值 得到 当前字符串长度与默认长度之间相差几位索引。
            int length = 8 - str.length() % 8;
            while((length > 0)&&(length<8)){//保证索引正常不超出边界,控制在0~8之间
                strBuffer.append("0");
                length--;//避免死循环
            }
            String newStr = strBuffer.toString();
            while(newStr.length()>0){
                System.out.println(newStr.substring(0,8));//只获取8位的字符串
                newStr = newStr.substring(8);//如果超出则从超出的索引位置重新循环组装新的字符串
            }
            
            //方法二:利用递归实现
//             buildStr(str);
        }
    }
    
     private static void buildStr(String str){
         if(str.length()>8){
             System.out.println(str.substring(0,8));
             buildStr(str.substring(8));
         }else{
             int num = str.length() % 8;//取余
             for(int i=0;i<8-num;i++){
                str+="0";
             }
             System.out.println(str);
         }
    }
}
全部评论

相关推荐

牛客5655:其他公司的面试(事)吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务