A题之字符串末尾补0

按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345。
678“,”90000000”

思路:
1)对每一个字符串的长度取模length%N,在字符串末尾补(N- length%N )个0
2)将所有字符串补0后的字符串拼接在一起
3)拼接后的字符串按照M长度,分段打印出来即可

Java代码实现如下:

import java.util.Scanner;
public class Main
{
     public static void main(String[] args)
     {
          Scanner cin=new Scanner(System.in);
          int m=0,n=0;
          while(cin.hasNextInt())
          {
               m=cin.nextInt();
               n=cin.nextInt();
               break;
          }
 
          int i=0;
          StringBuffer sb=new StringBuffer();
          while(i!=m&&cin.hasNext())
          {
               i++;
               String temp=cin.next();
               if (temp.length()%n!=0)
               {
                    sb.append(temp);
                    int len=n-temp.length()%n;
                    for (int j = 0; j < len; j++)
                    {
                         sb.append("0");
                    }
               }
               else {
                    sb.append(temp);
               }
          }
 
          int k=0;
          for (int j = 0; j < sb.length(); j++)
          {
               k++;
               System.out.print(sb.charAt(j));
               if (k==n)
               {
                    System.out.print(" ");
                    k=0;
               }
          }
     }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值