dúvida em atribuir resultado de uma array em outra
4 respostas
P
pauser2200
Tenho 3 arrays, duas com 10 posiçoes e uma com 20, estou tentando fazer com que a de 20 receba os valores da array 1 e 2 intercalados.
me ajudem
eis o código.
packageProva;importjava.util.*;publicclassQuestao4{publicstaticvoidmain(String[]args){recebeDados();}publicstaticvoidrecebeDados(){Scannersc=newScanner(System.in);intarray1[]=newint[5];intarray2[]=newint[5];intrecebe[]=newint[10];for(inti=0;i<array1.length;i++){System.out.println("Digite um numero do array1");array1[i]=sc.nextInt();recebe[i]=array1[i];System.out.println("Digite os numeros do array2");array2[i]=sc.nextInt();recebe[i]=array2[i];System.out.println(recebe);}}}
Dei uma editada no seu código vê se resolve seu problema.
Do jeito que tu fazia tava sobrescrevendo a mesma posição no array, além de não preencher "recebe" totalmente.
publicstaticvoidrecebeDados(){Scannersc=newScanner(System.in);intarray1[]=newint[5];intarray2[]=newint[5];intrecebe[]=newint[10];intaux1=0,aux2=0;for(inti=0;i<recebe.length;i++){if(i%2==0&&aux1<array1.length){System.out.println("Digite um numero do array1");array1[aux1]=sc.nextInt();recebe[i]=array1[aux1];aux1++;//Controlar o total de cadastros no array1 }elseif(aux2<array2.length){System.out.println("Digite os numeros do array2");array2[aux2]=sc.nextInt();recebe[i]=array2[aux2];aux2++;//Controlar o total de cadastros no array2 }}System.out.println("\n\n\nArrays Intercalados");for(inti=0;i<recebe.length;i++){System.out.println(recebe[i]);}}
P
pauser2200
Dantalian:
Dei uma editada no seu código vê se resolve seu problema.
Do jeito que tu fazia tava sobrescrevendo a mesma posição no array, além de não preencher "recebe" totalmente.
publicstaticvoidrecebeDados(){Scannersc=newScanner(System.in);intarray1[]=newint[5];intarray2[]=newint[5];intrecebe[]=newint[10];intaux1=0,aux2=0;for(inti=0;i<recebe.length;i++){if(i%2==0&&aux1<array1.length){System.out.println("Digite um numero do array1");array1[aux1]=sc.nextInt();recebe[i]=array1[aux1];aux1++;//Controlar o total de cadastros no array1 }elseif(aux2<array2.length){System.out.println("Digite os numeros do array2");array2[aux2]=sc.nextInt();recebe[i]=array2[aux2];aux2++;//Controlar o total de cadastros no array2 }}System.out.println("\n\n\nArrays Intercalados");for(inti=0;i<recebe.length;i++){System.out.println(recebe[i]);}}
cara muito abrigado vou estudar o seu código
mas e isso mesmo que eu quero
valeuuu
B
Bruno_Laturner
Outra maneira:
importjava.util.Arrays;importjava.util.Scanner;publicclassIntercalarArrays{Scannerin=newScanner(System.in);publicstaticvoidmain(String[]args){newIntercalarArrays().executar();}publicintler(Stringtexto,intposicao){do{System.out.printf(texto,posicao);try{returnInteger.parseInt(in.nextLine());}catch(NumberFormatExceptione){System.out.println("Valor inválido!");}}while(true);}privatevoidexecutar(){finalintTAMANHO=5;int[]array1=newint[TAMANHO];int[]array2=newint[TAMANHO];Integer[]recebe=newInteger[TAMANHO*2];for(inti=0;i<array1.length;i++){array1[i]=ler("Digite o %dº valor do array 1: ",i+1);}for(inti=0;i<array2.length;i++){array2[i]=ler("Digite o %dº valor do array 2: ",i+1);}for(inti=0;i<TAMANHO;i++){recebe[i*2]=array1[i];recebe[i*2+1]=array2[i];}System.out.println(Arrays.asList(recebe));}}