刚在stackoverflow看到一道很不错的问题,遂拿来分享之。
题目要求:我有一个很长的字符串:
String s1="This is my world. This has to be broken."
我要把上面的字符串打乱以固定的长度(例如10)使得输出为:
This is my
world. Thi
s has to b
e broken.
但是我想让输出包含原来的字符的同时不不分开一个词使得输出如下:
This is my
world.
This has
to be
broken.
下面是一个完整的程序。
/** author :marksaas blog: http://www.marksaas.com 交流群:199326422 time:2014/5/8 */ public class StringTest{ public static void main(String[] args){ int limit=10; String s="This is my world. This has to be broken."; String[] words=s.split(" "); StringBuilder sb=new StringBuilder(); for(String word:words){ sb.append( word ); if( sb.length()> limit ) { // Next word wraps System.out.println( sb ); sb.setLength( 0 ); } else { // Otherwise add to current line sb.append( ‘ ‘ ); } } // Handle final line System.out.println( sb ); } }
此文章页发表于我博客www.marksaas.com。
如果你有更好的方法,欢迎在下面留言,如果运行正确,我将会把它更新到我的博客上来。
一道很不错的字符分割题
时间: 2024-10-07 15:55:44