Tinha postado somente uma síntese, achando que o problema era só referente a expressão "teste[i].length() == 0", mas não era. Já serve pra eu aprender a postar sempre o código todo.
public static void main(String[] args) {
String str = "SERAQUESOBRA";
int x = 3;
int qtdChar = str.length() / x;
int resto = str.length() % x;
String[] quebra1 = null;
if (str.length() % x != 0) {
} else if (resto == 0) {
String[] quebra = new String[x];
for (int i = 0; i < x; i++) {
quebra[i] = " ";
}
for (int i = 0; i < x; i++) {
char temp;
while ( quebra[i].length() == 0 || quebra[i].length() <= qtdChar) {
for (int j = 0; j < qtdChar; j++) {
temp = str.charAt(j);
quebra[i] += String.valueOf(temp);
}
}
}
quebra1 = quebra;
}
System.out.println(quebra1.toString());
}
Pessoal, sei que o código está horrível e totalmente não performático! Mas eu sou iniciante e fico tentando resolver as coisas do jeito que eu sei. Pra depois ver a forma melhor que alguém tenha feito.
O problema era que tinha passado o parâmetro do tamanho da array de forma errada, tinha passado uma variável que era "0".
Agora não tô conseguindo imprimir a String quebra1. Já tentei printa direto o objeto e tentei com o toString como está no código.
Ele fica apontando a referência e não o conteúdo do objeto.