Duda con ciclos for en java

Preguntas RecientesCategoria: JavaDuda con ciclos for en java
drozz preguntada 1 año antes

Buenas amigos . Resulta que se requiere llenar un arreglo con 5 posiciones , las cuales deben tener los valores en forma aleatorio de 1 y 2 , a su vez el valor de 1 solo debe estar repetido 2 veces y el valor de 2 debe estar repetido e veces en el arreglo . Se debe realizar en java y esto es lo que llevo , pero no me limita los valores como se piden . Me podrían ayudar ? Gracias

int[] numeros = new int[5];

 

     for (int x=0;x<numeros.length;x++){

 

           if ((cont1<=2) && (cont2<=3)){

            numeros[x] = (int) (Math.random()*2)+1;

          if  (numeros[x]==1){

              cont1++;

                }

          else if(numeros[x]==2){

              cont2++;

                }

              }

 

       }

1 Respuestas
snow Staff contestada 1 año antes

si estas generando bien los numeros aleatorios del 2 y 1… el problema esta en

if ((cont1<=2) && (cont2<=3))

cuando uno de los dos termina: es decir cuando count1 sobre pasa a dos o count2 sobre pasa a 3 ya no genera mas numeros aleatorios… me explico: si se generan tres mumeros 1 count1 aumenta y ya no se cumple su condicion

cont1<=2

entonces ya no entra en tu blocke if y ya no se generan mas numeros aleatorios y los demas nuemros de tu arreglo no se rellenan y se quedan en 0

Your Answer

5 + 19 =