对于给定的由纯英文单词(每个单词长度小于80个字符)和空格组成的文本文件,我们需要对其做一次对齐的处理。要求处理后的文件,每行不超过80个字符,单词不能被截断,同行单词间有且只有一个空格,每行不能以空格开始。请实现完成这个功能的处理函数
解决方案 »
- (-1)%5该是多少?进来看看我的需求
- 请教一个正则表达式
- 关于线程
- 用abstract class做参数的构造函数,如何船参数阿〉?
- java字符串错误java.lang.StringIndexOutOfBoundsException寻求解决方案急急急!!!!!
- 我想问个问题——关于显示圆形问题?怎么样 才可以显示的更好(比如你显示的图片一般都是方的,那么多余的显示出来,不就不好看拉吗?)
- 怎样用Java实现一个多叉树数据结构!
- 一个简单的问题,请进来拿分!
- 回答过“大家都来谈谈自己学习Java的经验或看法!(来者有分)”的兄弟觉得给分不够的再接!!!!
- java垃圾回收问题
- 今天面试遇到个问题把我难住了。各位大牛看下吧,指点下小弟
- mysql驱动问题
package test;import java.util.LinkedList;
import java.util.List;/**
* 数据对齐
*
* @author java2000_net
*
*/
public class T3 {
/**
* @param args
*/
public static void main(String[] args) {
String str = "1 55555 666666 22 333 7777777 4444 333 22";
// 根据空格分隔字符
String[] data = str.split("\\s+");
String[] rtn = toLengh(data, 7);
for (int i = 0; i < rtn.length; i++) {
System.out.println(rtn[i] + "\t" + rtn[i].length());
}
} /**
* 数组重组到指定长度
*
* @param data
* @param length
* @return
*/
public static String[] toLengh(String[] data, int length) {
List<String> list = new LinkedList<String>();
StringBuilder str = new StringBuilder(data[0]);
for (int i = 1; i < data.length; i++) {
if (str.length() + 1 + data[i].length() <= length) {
str.append(" " + data[i]);
} else {
list.add(str.toString());
str.setLength(0);
str.append(data[i]);
}
}
return (String[]) list.toArray(new String[0]);
}
}