package no.ntnu.fp.util;
import java.util.ArrayList;
import java.util.List;
public class StringHelper {
/**
* Returns the {@code String} a array of {@code String} with at most n
* {@code char}s in each cell
*
* @param str
* @param n
* @return
*/
public static String[] boxing(String str, int n) {
List<String> lines = new ArrayList<String>();
int pos = 0;
int length = str.length();
while (true) {
String sub = "";
int posn = pos + n;
if (posn > length) {
lines.add(str.substring(pos));
break;
} else if (str.charAt(posn) == ' ') {
sub = str.substring(pos, posn);
pos += n+1;
} else {
int tmp = posn;
while (str.charAt(tmp) != ' ') {
tmp--;
}
sub = str.substring(pos, tmp);
pos = tmp+1;
}
lines.add(sub);
}
return lines.toArray(new String[] {});
}
public static String nullPaddNumber(int number) {
if (number <= 9) {
return "0" + number;
} else {
return Integer.toString(number);
}
}
public static void main(String[] args) {
String str = "dette er skal bli en veldig lang møte tekst slik av den kommer på flere linjer.";
String[] list = boxing(str, 40);
for (String line : list) {
System.out.println(line);
}
}
}