1
Aprender a programar desde cero / Ejercicio CU00672B generar aleatorios en java con random y nextInt
« en: 02 de Octubre 2014, 06:28 »
Hola a todos, les tengo la respuesta a este ejercicio. Al principio me costo(con acento en la o un poco de trabajo, pero me puse a repasar las conversiones y todo fue mas claro .
Les dejo las 3 clases que utilice(con acento en la e
Clase AdivinaNumero
Clase SerieDeAleatorios
Clase EntradaDeTeclado
Gracias por su ayuda, y si encuentran algo que creen que se puede mejorar diganmelo por favor
Les dejo las 3 clases que utilice(con acento en la e
Clase AdivinaNumero
Código: [Seleccionar]
public class AdivinaNumero {
public static void main (String[]args){
Integer tmpInteger=1;
Integer numeroEntrada=0;
SerieDeAleatorios serie = new SerieDeAleatorios((int)tmpInteger);
serie.generarSeriedeAleatorios();
System.out.println("Se ha generado un numero aleatorio entre 1 y 100, intente adivinarlo");
EntradaDeTeclado entrada = new EntradaDeTeclado();
entrada.pedirEntrada();
numeroEntrada=numeroEntrada.valueOf(entrada.getEntrada());
if(numeroEntrada==serie.getNumeroSerie(0)){
System.out.println("Felicidades,encontraste el numero");
}
while(numeroEntrada!=serie.getNumeroSerie(0)){
if(numeroEntrada<serie.getNumeroSerie(0)){
System.out.println("El numero es menor, intentalo de nuevo");
entrada.pedirEntrada();
numeroEntrada=numeroEntrada.valueOf(entrada.getEntrada());
}
else if (numeroEntrada>serie.getNumeroSerie(0)){
System.out.println("El numero es mayor, intentalo de nuevo");
entrada.pedirEntrada();
numeroEntrada=numeroEntrada.valueOf(entrada.getEntrada());
}
}
System.out.println("Felicidades, encontraste el numero"+"("+serie.getNumeroSerie(0)+")");
}
}
Clase SerieDeAleatorios
Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Random;
public class SerieDeAleatorios{
private ArrayList<Integer>serieAleatoria;
public int numAleatorio;
public SerieDeAleatorios(int numeroItems){
serieAleatoria= new ArrayList<Integer>();
//Iniciamos ArrayList lleno de ceros
for(int i=0;i<numeroItems;i++){
serieAleatoria.add(0);}
System.out.println("Serie inicializada. EL numero de elementos de la serie es: "+ getNumeroItems());
}
public int getNumeroItems(){
return serieAleatoria.size();
}
public void generarSeriedeAleatorios(){
Random numAleatorio;
numAleatorio= new Random();
for(int i=0;i<serieAleatoria.size();i++){
serieAleatoria.set(i,numAleatorio.nextInt(101));
}
System.out.println("Serie generada!");
}
public void mostrarSerie(){
System.out.println("Procedemos a mostrar serie");
for(Integer tmpObjeto : serieAleatoria){
System.out.println(" "+tmpObjeto.toString());
}
}
public int getNumeroSerie(int numeroMostrar){
return serieAleatoria.get(numeroMostrar);
}
}
Clase EntradaDeTeclado
Código: [Seleccionar]
import java.util.Scanner;
public class EntradaDeTeclado{
private String entradaTeclado;
public EntradaDeTeclado (){
entradaTeclado="";
}
public void pedirEntrada(){
Scanner entradaEscaner= new Scanner(System.in);
entradaTeclado=entradaEscaner.nextLine();
}
public String getEntrada (){
return entradaTeclado;
}
public String getPrimeraPalabra(){
for(int i=0;i<entradaTeclado.length();i++){
if(entradaTeclado.substring(i,i+1).equals(" ")){
return entradaTeclado.substring(0,i+1);
}
}
return entradaTeclado;
}
public int getLongitud(){
return entradaTeclado.length();
}
}
Gracias por su ayuda, y si encuentran algo que creen que se puede mejorar diganmelo por favor