Java - Ayuda como generar generar numeros aleatorios para un división exacta

   
Vista:

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Erick (37 intervenciones) el 27/10/2015 06:57:57
Hola. Tengo este código que me funciona perfectamente con la suma resta multiplicación y hasta la división pero necesito que esta ultima (División) sean exactas porque es para niños de primaria.

Básicamente lo que hace este código es generar números aleatorios para una variable en el primer caso para (z) y en el segundo para (b). Pero necesito que en este segundo caso (b) solo me de números aleatorios según sea el caso para que la división de exacta .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private int limite = 999;
 
 
for (int i = 0; i < 1; i++) {
            Random valor = new Random();
            z = valor.nextInt(limite + 1);
            if (z == 0) {
                z++;
 
            }
            for (int a = 0; a < 1; a++) {
                Random juan = new Random();
                b = juan.nextInt(z + 1);
                if (b == 0) {
                    b++;
                }
            }
        }

Me parece que tengo que poner,que si el segundo numero al dividirlo por el primero el residuo sea 0 "cumpleo" o sirve ,si no (else) no. pero no tengo idea de como hacer este if , else.


Gracias espero me puedan ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Erick (37 intervenciones) el 27/10/2015 07:17:57
Perdón la dividirlo en 2 de 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Juan R. (94 intervenciones) el 27/10/2015 11:48:33
Buenas Erick

Podrías poner:

if (z%b != 0){
b++;}


Yo de todas formas seguramente me lo plantearía de forma diferente, lo haría de forma similar a la siguiente:

programador

De manera que el el valor b, sólo será válido cuando sea factor del valor z (es decir, que z módulo b sea = 0).

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Erick (37 intervenciones) el 29/10/2015 05:33:16
Muchísimas gracias no sabes como estoy de agradecido. Y me a quedado perfectamente claro del otro modo. En verdad muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Erick (37 intervenciones) el 29/10/2015 07:46:11
Oye tengo un problema cuando no se cumple sale un error. Pero cuando cumple corre perfectamente. Hay que ejecutarlo varias veces y cuando cumple pues sirve pero cuando no cumple se conjela.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Lawliet (236 intervenciones) el 29/10/2015 18:19:32
Hola...

Podrías comentar el error que sale, por favor, así se podrá ayudarte de manera mas eficiente ^^.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Juan R. (94 intervenciones) el 30/10/2015 00:06:01
Cuál es el código que tienes? Cuándo no se cumple la condición??? Ya nos contarás.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Erick (37 intervenciones) el 30/10/2015 05:19:06
Este es el codigo que utilizo :

1
2
3
4
5
6
7
8
9
10
11
for (int i = 0; i < 1; i++) {
	Random valor = new Random();
	z = valor.nextInt(limite + 1);
	if (z == 0) {
		z++;
	}
	do {
		Random juan = new Random();
		b = juan.nextInt(z + 1);
	} while (z % b != 0);
}


y el error es este: en ocasiones.

Exception in thread "AWT-EventQueue-0" java.lang.ArithmeticException: / by zero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Lawliet (236 intervenciones) el 30/10/2015 06:09:32
Hola...

El error es claro, como generas un numero aleatorio para la división va a tronar cuando no se pueda realizar la división, creo que el problema radica en tu while.

Yo lo haría de la siguiente manera...

1
2
3
4
5
6
7
8
9
10
Random random = new Random();
int numero = 0;
while(numero == 0){
	numero = random.nextInt(999);
}
if ((numero % 2) == 0){
	System.out.println("El numero '" + numero + "' devuelve una division exacta.");
} else {
	System.out.println("El numero '" + numero + "' no es util para la division.");
}

Con el while validamos que cree un numero hasta que ese número sea diferente de 0, después de todo, el programa tiene como objetivo aquellos números que sean divisibles entre 0; es decir, pares.

Cualquier duda y/o inconveniente, aquí estamos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Erick (37 intervenciones) el 30/10/2015 08:21:28
Agradezco tu tiempo y ayuda pero no entendí muy bien como lo puedo implementar, como necesito que funcione. Lo que pasa es que necesito generar 2 números aleatorios el primero puede ser cualquiera comprendido del 1 al 999 y el segundo tener factor común así cuando se haga la división el residuo sea 0 para que le división sea exacta.

No se como generar estas divisiones exactas aleatorias.

lo que me tiene confundido es como hacer que el segundo numero random sea factor del primero. ya que puede ser par o impar. pero es necesario que sea exacta.


Gracias y perdona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Lawliet (236 intervenciones) el 30/10/2015 18:31:06
Hola....

Entones, generas dos números aleatoriamente, el primero comprende del 1 al 999 mientras que el segundo número debe ser un común divisor del número generado anteriormente, es esto correcto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda como generar generar numeros aleatorios para un división exacta

Publicado por Erick (37 intervenciones) el 31/10/2015 01:26:16
Perfectamente. :D Es correcto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar