Autor
|
Tema: crear 5 objetos con caracteristicas ya definidas aleatoriamente (Leído 2,789 veces)
|
sheiking
Desconectado
Mensajes: 10
|
ayuda quiero generar un programa que me genere 5 personajes (objetos) que tengas diferentes atributos aleatoriamente
en si este es el ejercicio Realiza un programa que incluya constructores, que genere cinco ayudantes, donde cada ayudante tiene características como: números de ojos (uno o dos), color de piel (amarilla o morada), altura (mediano o alto), un cierto nivel para crear objetos (1 al 5), un cierto nivel para arreglar cosas (1 al 5), un cierto nivel destructivo (1 al 5).
La cantidad de ayudantes necesarios ya ha sido definida, pero las características de cada uno deben ser establecidas al azar.
Al finalizar el programa, imprime la lista de los cinco ayudantes con sus características.
si alguien me puede ayudar estaria muy agradecido
por el momento llevo esto
public class Ayudantes { public int numOjos[] = {1,2}; public String colorPiel[] = {"morado","amarillo"}; public String altura[] = {"mediano","alto"}; public int nivelCrearObjetos[] = {1,2,3,4,5}; public int nivelArreglarCosas[] = {1,2,3,4,5}; public int nivelDestruccion[] = {1,2,3,4,5}; }
|
|
|
En línea
|
|
|
|
rub'n
Desconectado
Mensajes: 1.217
(e -> λ("live now")); tatuar -> λ("α");
|
Hola que tal?
Usa geshi, las variables de instancia deben ser declaradas por convención como private que es un modificador de acceso en la linea 22 usamos aquí la clase SecureRandom, para generar los números pseudoaleatorios con el método .nextInt()
entonces que es lo que esta pasando, si haces numOjos[un numero aleatorio aquí que será el 0 o el 1], gracias a nextInt()
que según la API dice esto
* @param bound the upper bound (exclusive). Must be positive. * @return the next pseudorandom, uniformly distributed {@code int} * value between zero (inclusive) and {@code bound} (exclusive) * from this random number generator's sequence * @throws IllegalArgumentException if bound is not positive * @since 1.2 */ public int nextInt(int bound) {
cuando haces nextInt(numOjos.length) en length retorna 2, y ese numero 2 se excluye, dando como resultado un numero entre el 0 y 1, sin decimales, y ese numero corresponde al subindice de ese array
e igualmente con un array de mayor tamaño como nivelArreglarCosas que consta de 5 posiciones, nextInt() en ese caso le tocaría un numero de entre 0 a 4 porque length retornara 5, pero este se excluye por lo tanto seria 4;
por lo tanto nivelArreglarCosas[secureRandom.nextInt(nivelArreglarCosas.length)] se podría traducir a nivelArreglarCosas[numero aleatorio entre 0 a 4]
package foro; import java.security.SecureRandom; import java.util.Arrays; import java.util.stream.IntStream; public class Ayudantes { private int numOjos[] = {1,2}; private String colorPiel [] = {"morado", "amarillo"}; private String altura [] = {"mediano", "alto"}; private int nivelCrearObjetos[] = {1,2,3,4,5}; private int nivelArreglarCosas[] = {1,2,3,4,5}; private int nivelDestruccion[] = {1,2,3,4,5}; public Ayudantes() { } @Override return "Ayudante {" + "numOjos=" + (numOjos[secureRandom.nextInt(numOjos.length)]) + ", colorPiel=" + (colorPiel[secureRandom.nextInt(colorPiel.length)]) + ", altura=" + (altura[secureRandom.nextInt(altura.length)]) + ", nivelCrearObjetos=" + (nivelCrearObjetos[secureRandom.nextInt(nivelCrearObjetos.length)]) + ", nivelArreglarCosas=" + (nivelArreglarCosas[secureRandom.nextInt(nivelArreglarCosas.length)]) + ", nivelDestruccion=" + (nivelDestruccion[secureRandom.nextInt(nivelDestruccion.length)]) + '}'; } public static void main (String ... blabla) { IntStream.rangeClosed(1,5) . forEach(numero -> System. out. println(numero +"- "+new Ayudantes (). toString())); } }
Output1- Ayudante {numOjos=1, colorPiel=amarillo, altura=mediano, nivelCrearObjetos=5, nivelArreglarCosas=3, nivelDestruccion=4} 2- Ayudante {numOjos=2, colorPiel=amarillo, altura=mediano, nivelCrearObjetos=3, nivelArreglarCosas=2, nivelDestruccion=3} 3- Ayudante {numOjos=1, colorPiel=morado, altura=mediano, nivelCrearObjetos=2, nivelArreglarCosas=2, nivelDestruccion=4} 4- Ayudante {numOjos=2, colorPiel=morado, altura=mediano, nivelCrearObjetos=1, nivelArreglarCosas=4, nivelDestruccion=1} 5- Ayudante {numOjos=2, colorPiel=amarillo, altura=alto, nivelCrearObjetos=4, nivelArreglarCosas=3, nivelDestruccion=2} Process finished with exit code 0
3 maneras diferentes de hacerlo, existen masprivate void iterates() { for(int f=0; f<5; f++) { System. out. println((f +1)+"- "+new Ayudantes (). toString()); } System. out. println("··········································"); List<Ayudantes> ayudantes = new ArrayList<>(); ayudantes.add(new Ayudantes()); ayudantes.add(new Ayudantes()); ayudantes.add(new Ayudantes()); ayudantes.add(new Ayudantes()); ayudantes.add(new Ayudantes()); for(Ayudantes ayudante : ayudantes) { System. out. println(ayudante. toString()); } System. out. println("··········································"); IntStream.rangeClosed(1,5) . forEach(numero -> System. out. println(numero +"- "+new Ayudantes (). toString())); }
|
|
« Última modificación: 11 Enero 2019, 22:09 pm por rub'n »
|
En línea
|
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
|
|
|
sheiking
Desconectado
Mensajes: 10
|
muchas gracias amigo me haz ayudado bastante
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Crear objetos para el Sims
Juegos y Consolas
|
Güan
|
1
|
1,654
|
1 Julio 2005, 16:54 pm
por pedritocapo
|
|
|
Crear objetos en ejecución
Programación Visual Basic
|
juampivicius
|
2
|
1,994
|
16 Diciembre 2005, 19:46 pm
por Slasher-K
|
|
|
Crear Objetos en el WoW
Juegos y Consolas
|
folwker
|
1
|
3,846
|
29 Junio 2009, 23:01 pm
por Artikbot
|
|
|
Problema al crear arreglos de objetos en C++
Programación C/C++
|
DarkSorcerer
|
2
|
8,295
|
15 Septiembre 2013, 19:05 pm
por dato000
|
|
|
[BASH] Script para crear un archivo con las siguientes características...
Scripting
|
Maistere
|
3
|
3,899
|
27 Enero 2014, 13:56 pm
por Eleкtro
|
|