Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

walterchess

Pegar dados de um array

Recommended Posts

Oi pessoal, tenho um método do tipo int que recebe um array do tipo string e queria saber como pegar apenas os números da string que ele vai receber e outra coisa caso os números estejam assim 23ab32 deve-se somar 23 + 32 = 55, no caso retornaria 55 A questão é que não estou conseguindo saber em qual momento tem que somar os números e em qual momento apenas concatenar. se alguém tiver uma dica para clarear minha ideias agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

A questão é que não estou conseguindo saber em qual momento tem que somar os números e em qual momento apenas concatenar.


Isso não foi especificado em algum lugar? Porque dá p/ usar regex p/ capturar, mas vc precisa saber o que fazer com determinados padrões.

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe, ficou muito abstrato o que eu disse, mas conseguir resolver depois de 2 dias, era um desafio para pegar os números de um array de string e somar ex: {"abc21abc21",'def34def34","ghi56ghii56"}, no caso era pra somar 21 + 21 + 34 + 34 + 56 + 56 e retornar o total no caso 222, como pode ver se existir números em seguida você leva como um valor total e somar com os outros que não estão subsequentes, para apenas clarear as ideias de quem procura uma resolução parecida, apesar de que meu código ficou grande para questão pois usei incrivelmente seis atributos auxiliares, primeiro transformei de array para string, depois para char e comparei char por char e ao mesmo tempo verificava se o próximo elemento era numero ou string pode-se utilizar pesquisas binarias, se caso tiverem uma duvida deixem um comentário no tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste ai:

 

 

public static void main(String[] args) {
    String s = "abc21abc21\",\'def34def34\",\"ghi56ghii56";
 
    String[] numeros = s.split("[^0-9]");
    int somatoria = 0;
 
    for(String numero : numeros){
        if(!numero.isEmpty())
            somatoria += Integer.parseInt(numero);
    }
 
    System.out.println(somatoria);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso funcionou sim, mas no caso eu tinha que receber um array e você colocou em uma string, mas nesse caso agradeço só troquei algumas coisas no código para adaptar ao seu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.