Separar String de 2 em 2 caracteres

Pessoal.

Eu preciso fazer o seguinte ( to com a seguinte idéia):

Tenho uma String com o valor=“3D107AF4”. (valores em hexa)

Preciso separar essa string de 2 em 2 caracteres e transformar num vetor de inteiros.
Os respectivos em inteiros.
3D=61;
10=16;
7A=122;
F4=244;

Eu precisaria de um array assim:

int array[]={61,16,122,244}

To dando uma estudada na API, mas se alguem puder dar uma dica. (pode ser uma questão de lógica :idea:, e eu esteja meio cego)

Obrigado galera.

  1. Transforme a String em um array de chars
  2. Faça um laço para varrer todo esse array
    Obs: o passo do laço é 2.(SE possuir um número impar de caracteres faça o seguinte: adicione um caractere nulo a ultima posição)
    3.Crie um vetor para armazenar os valores, pode ser de string ou faz vários vetores de char
  3. Grave na posição i e na posição a frente o valor no vetor.(faça as conversões necessárias)
    Ex:

A string tem 10 caracteres.
indice do for pego os caracteres
0 0 e 1( i, i+1…)
2 2 e 3

Bom, esse algorítmo dá conta do que vc precisa, espero ter ajudado :wink:

Obrigado shamanpyro.

A sua dica funcionou.

String mensagen="2ACD015C"; char array[]=mensagen.toCharArray(); String arrayDeString[]=new String[mensagen.length()/2]; int cont=0; for (int a=0;a<array.length;a=a+2){ arrayDeString[cont]=array[a]+""+array[a+1]; cont++; } int[] valorInteiros = new int[arrayDeString.length]; for (int i = 0; i < arrayDeString.length; i++) { valorInteiros[i] =Integer.parseInt(arrayDeString[i],16); }

Vou usar uma função pra verificar se a string tem tamanho impar!! pois a aplicação só pode aceitar strings de tamanho par.

Valeu mesmo

Não foi nada, boa sorte!! :smiley: