美文网首页
字符串分隔_牛课网练习题

字符串分隔_牛课网练习题

作者: 御都 | 来源:发表于2019-08-21 22:23 被阅读0次

    题目描述

    •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
    •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

    输入描述:

    连续输入字符串(输入2次,每个字符串长度小于100)

    输出描述:

    输出到长度为8的新字符串数组
    示例1

    输入

    abc
    123456789

    输出

    abc00000
    12345678
    90000000

    实现代码

    import java.util.Scanner;
    import java.util.ArrayList;
    public class Main{
        public  static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            String st1 = sc.nextLine();
            String st2 = sc.nextLine();
            ArrayList<String> al = new ArrayList<String>();
            make(st1,al);
            make(st2,al);
            for(String s : al){
                System.out.println(s);
            }
        }
    /**将一个字符串按8分隔,不够补零:
    *1 将字符串的长度lenst除以8得出倍数n和余数yu;
    *2 使用循环,循环次数为n,按8的倍数截取字符串,然后将截取到的字符串存放到ArrayList中
    * 3 在余数不为0时,通过8-yu得到需要补m个零,获得字符串除以8后剩余的字符串endstr。利用循环往endstr末尾添加0
    * 4 将3的内容存放进ArrayList
    */
        public static ArrayList<String> make(String st,ArrayList<String> al){
            int lenst = st.length();
            //能几次被8整除
            int n = lenst/8;
            //余数
            int yu = lenst%8;
             for(int i=0;i<n;i++){
                    al.add(st.substring(i*8, 8*(i+1)));
              }
              if(yu!=0){
                  String endst = st.substring(8*n);
                  for(int i =0;i<8-yu;i++){
                      endst = endst + 0;
                 }
                 al.add(endst);
              }
               return al;
        }
    }
    

    相关文章

      网友评论

          本文标题:字符串分隔_牛课网练习题

          本文链接:https://www.haomeiwen.com/subject/gmywsctx.html