字符串分隔 参与人数: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());
}
}
}