Array valores![RESOLVIDO!]

12 respostas
banger

Bom Dia,

gente alguem podeira me responder se tem algum jeito de pegar os valores do array e junta-los em uma unica String, por exemplo:

eu tenho um array que ele possui os valores 33[0] e 66[1]

quando eu printo a string que contem estes valores e imprime

string = 33
string =3366

soh que eu gostaria de imprimir somente a String 3366, sem como fazer isso tpw esperar primeiro terminar o for e depois jogar na string??

12 Respostas

luiz.portnoy

Porque você não armazena primeiro para depois que terminar o for imprimir? Tipo:

String x;
for (int i=0; i < array.length(); i++)
{
   x += array[i];
}
System.out.println(x);
walissongpi

banger:
Bom Dia,

gente alguem podeira me responder se tem algum jeito de pegar os valores do array e junta-los em uma unica String, por exemplo:

eu tenho um array que ele possui os valores 33[0] e 66[1]

quando eu printo a string que contem estes valores e imprime

string = 33
string =3366

soh que eu gostaria de imprimir somente a String 3366, sem como fazer isso tpw esperar primeiro terminar o for e depois jogar na string??

Não entendi muito bem sua pergunta. Reformule-a.
Para concatenar Strings em java vc pode utilizar o operador ‘+’.
ex: String s = ""+vetor[0]+vetor[1];

banger

walissongpi:

Não entendi muito bem sua pergunta. Reformule-a.
Para concatenar Strings em java vc pode utilizar o operador ‘+’.
ex: String s = ""+vetor[0]+vetor[1];

entaum kra tpw concatena ateh blz, soh que eu tenho um array que ele muda de valor,
tpw no momento eu tenho 3366, mas eu posso ter um valor tpw 35 somente ou [telefone removido] depende muito da ação, mas isso nem importa muito, na verdade o que
está ocorrendo é a impressao de mais de uma vez da string para mostrar o valor dos arrays,
mas a ideia naum e essa eu quero que ele percorra o vetor, vai pegando os valores de uma vez e monte uma string que tenha como resultado 1 unico valor de todos os vetores exemplo:

valor do array:

string = 33
string = 3366
string = 336652

no caso acima tenho um array que tem 3 valores o primeiro 33 o segundo 66 o terceiro 52, e no mesmo caso quando eu peço pra imprimir ele aparece desse jeito ai, tres vezes a mesma string, mas eu soh quero a ultima, sako???

Vou tentar isso Luiz vlw!!!

walissongpi

banger:
walissongpi:

Não entendi muito bem sua pergunta. Reformule-a.
Para concatenar Strings em java vc pode utilizar o operador ‘+’.
ex: String s = ""+vetor[0]+vetor[1];

entaum kra tpw concatena ateh blz, soh que eu tenho um array que ele muda de valor,
tpw no momento eu tenho 3366, mas eu posso ter um valor tpw 35 somente ou [telefone removido] depende muito da ação, mas isso nem importa muito, na verdade o que
está ocorrendo é a impressao de mais de uma vez da string para mostrar o valor dos arrays,
mas a ideia naum e essa eu quero que ele percorra o vetor, vai pegando os valores de uma vez e monte uma string que tenha como resultado 1 unico valor de todos os vetores exemplo:

valor do array:

string = 33
string = 3366
string = 336652

no caso acima tenho um array que tem 3 valores o primeiro 33 o segundo 66 o terceiro 52, e no mesmo caso quando eu peço pra imprimir ele aparece desse jeito ai, tres vezes a mesma string, mas eu soh quero a ultima, sako???

Vou tentar isso Luiz vlw!!!

Agora entendi. É como o amigo luiz falou acima. Só não se esqueça de inicializar a variável:

String x=""; for (int i=0; i < array.length;i++) { x += array[i]; } System.out.println(x);

luiz.portnoy

Esqueci de inicar a variável, foi mal… :oops: . Fui na empolgação… Você tem razão walisson.

banger

puxa eu fiz mas continua o problema:

public static void printBytes(byte[] array) {
            String hexa = "";
           
            for (int k = 0; k < array.length; k++) {
              hexa += UnicodeFormatter.byteToHex(array[k]);
             

              System.out.println("Hexa de 2 bytes: " + hexa);
              writetoport(hexa);

e uma das saidas que esta tendo e essa:

Hexa de 2 bytes: 31
Hexa de 2 bytes: 3166

resumindo, ainda tah imprimindo 2 vezes a string, pq será??

jah tentei um monte de coisa e naum fik somente o ultimo valor!

luiz.portnoy

É porque você não fechou o for antes do println (bom, pelo menos não vi no código…). Fecha antes de imprimir e ve se vai rolar agora.

walissongpi

banger:
puxa eu fiz mas continua o problema:

public static void printBytes(byte[] array) {
            String hexa = "";
           
            for (int k = 0; k < array.length; k++) {
              hexa += UnicodeFormatter.byteToHex(array[k]);
             

              System.out.println("Hexa de 2 bytes: " + hexa);
              writetoport(hexa);

e uma das saidas que esta tendo e essa:

Hexa de 2 bytes: 31
Hexa de 2 bytes: 3166

resumindo, ainda tah imprimindo 2 vezes a string, pq será??

jah tentei um monte de coisa e naum fik somente o ultimo valor!


Ou vc faz imprime depois do for ou coloque uma condição.

tipo:

String x=""; 
for (int i=0; i < array.length;i++)  {

   x += array[i];

   if(i==array.length-1)
   System.out.println(x);
}
banger

putz vei e isso mesmo kra, kkkkkk por causa de uma maldita chave!!! uauhaa

brigadão gente vlw!!!

vlw luis e wallisson!!!

ViniGodoy

Só lembrando que concatenar Strings dentro de um for é um processo extremamente lento. Use a classe StringBuilder:

StringBuider x= new StringBuilder(); 
for (int i=0; i < array.length;i++)  {
   x.append(array[i]);
}

System.out.println(x.toString());
banger

opah essa e uma boa dica vou utilizar sim!!!

vlw!!

walissongpi
ViniGodoy:
Só lembrando que concatenar Strings dentro de um for é um processo extremamente lento. Use a classe StringBuilder:
StringBuider x= new StringBuilder(); 
for (int i=0; i < array.length;i++)  {
   x.append(array[i]);
}

System.out.println(x.toString());

sempre me esqueço disto. É absurda a quantidade de objetos que podem ser criados... :?

Criado 20 de maio de 2010
Ultima resposta 20 de mai. de 2010
Respostas 12
Participantes 4