java实现-字符串分割

字符串分隔
参与人数:33时间限制:1秒空间限制:32768K
通过比例:24.14%
最佳记录:0 ms|8460K (来自  石青朱砂)
 算法知识视频讲解
题目描述

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

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


输出描述:

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

输入例子:

abc 123456789

输出例子:

abc00000 12345678 90000000

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.stream.IntStream;

import javax.print.attribute.standard.PrinterLocation;

public class Main 
{
	public Main() 
	{
		// TODO Auto-generated constructor stub
	}

	public static void main(String[]args) throws FileNotFoundException
	{
		String line;
		StringBuffer stringBuffer;
		int pos=0;
		int length;
		int lineLength;
		
		Scanner scanner = new Scanner( new File("C://Users//Administrator//Desktop//test.txt"));
		while(scanner.hasNext())
	    {
	    	line = scanner.nextLine();
	    	stringBuffer = new StringBuffer();
	    	lineLength = line.length();
	    	for(int i =0;i<line.length();++i)
	    	{
	    		if(line.charAt(i)==' '||i == line.length()-1)
	    		{
	    			if(i+1<lineLength&&line.charAt(i+1)!=' ')
	    			{
	    				continue;
	    			}
	               length = i -pos;
	               if(length<8)
	               {
		               stringBuffer.append(line.substring(pos, i));
		               for(int j=length;j<8;++j)
		               {
		            	   stringBuffer.append("0");
		               }
		               pos=i+1;
	               }
	               else if( length>=8)
	               {
	            	   stringBuffer.append(line.substring(pos,i-(length-8)+1));
	            	   pos = i-(length-8)+1;
	            	   
	            	   if(i == lineLength-1)
	            	   {
	            		   stringBuffer.append(" ");
	            		   stringBuffer.append(line.substring(pos, i+1));
			               for(int j=i-pos;j<8;++j)
			               {
			            	   stringBuffer.append("0");
			               }
	            	   }
	               }
	           if(i!=lineLength-1)
	           {
	    		stringBuffer.append(" ");
	           }
	    		}
	    	    continue;	
	    	}
	    	System.out.println(stringBuffer.toString());
	    
	    }
	
	}



}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值