Boas, tem alguém para ajudar?
Quero que imprima a string de acordo com os numero de array
exemplo: “234” por causa de 3
"73" os dois a seguir
7829 os quatro a seguir
e 7 o 1 a seguir
public static void main(String[] args)
{
int[] s = splitText("2347378297", new int[]{3,2,4,1});
for(int i = 0; i < s.length; i++)
{
System.out.println(s[i]);
}
}
public static int[] splitText(String text, int[] parts)
{
}
Os números serão sempre os mesmos? Pode usar o regex
1 curtida
Fiz dessa forma:
public static String[] splitText(String text, int[] parts)
{
String[] output = new String[parts.length];
int lastPartEndingIndex = 0;
try {
for (int i = 0; i < output.length; i++) {
output[i] = text.substring(lastPartEndingIndex, lastPartEndingIndex+parts[i]);
lastPartEndingIndex = lastPartEndingIndex+parts[i];
}
} catch (IndexOutOfBoundsException e) {
return output;
}
return output;
}
Transformei seu vetor de inteiros em um vetor String, para poder separar com substring.
A variável lastPartEndingIndex guarda o índice em que terminou a última parte.
Coloquei o try { } catch { } para não encerrar o programa se a soma das partes for maior que o tamanho do texto.
Espero ter ajudado!
1 curtida
Muito obrigado Dahan_Schuster conseguiu ajudar sim
1 curtida
Ótimo, @NCC_Informatico ! Marca como resolvido pra indicar aos outros leitores.
Boa tarde!