import java.util.Collection;
import java.util.Iterator;
import java.util.ArrayList;

class StringSplit 
{
	public static void main(String[] args) 
	{

		String s = "Pela primeira vez, depois de três décadas de crescimento contínuo, caiu a participação do Brasil na produção científica mundial, passando de 1,08%, em 2000, para 0,95%, no ano passado, uma queda de cerca de 12%.";
		Collection linhas= geraLinhas(s);

		for (Iterator i = linhas.iterator() ; i.hasNext() ; )
		{

			System.out.println((String)i.next());

		}

	}

	// Como exemplo o metodo vai gerar linhas com 30 caracteres no máximo
	public static Collection geraLinhas(String tudo) {

		String palavras[] = tudo.split(" ");
		Collection linhas = new ArrayList();
		StringBuffer linha = new StringBuffer();

		for (int w = 0; w < palavras.length ; w++ )
		{

			if ( (linha.length() + palavras[w].length()) > 30 ) {
				linhas.add(linha.toString().trim());
				linha.setLength(0);
			}

		linha.append(palavras[w] + " ");

		}

		linhas.add(linha.toString().trim());
		return linhas;

	}

}


