题解 | #字符串分隔#

字符串分隔

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);
         }
    }
}
全部评论

相关推荐

暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。 卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务