Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: LuisM en 30 de Junio 2017, 18:07
-
Hola a todos, paso a dejar el código del ejercicio propuesto en el tema CU00672B del curso básico de programación Java. Desde ya muchas gracias. Saludos. Luis.
Clase principal, metodo main
// Programa para adivinar un numero pseudoaleatorios aprenderaprogramar.com
public class AdivinarNumero {
public static void main (String [ ] Args) {
int numeroBuscado = 0;
Integer tmpInteger = 0;
EntradaDeTeclado entradaMain = new EntradaDeTeclado();
char adivino = 'N';
NumeroAleatorio numero = new NumeroAleatorio();
numero.generarNumero();
numeroBuscado = numero.getNumero();
System.out.println("Trate de adivinar un número oculto de 1 a 100, ingrese un numero:");
while (adivino =='N') {
entradaMain.pedirEntrada();
tmpInteger = tmpInteger.valueOf (entradaMain.getEntrada() );
if (numeroBuscado==tmpInteger){adivino = 'S' ;} else {
if (numeroBuscado<tmpInteger){System.out.println("No has acertado: el número es menor. Prueba otra vez");} else {System.out.println("No has acertado: el número es mayor. Prueba otra vez");}}
} //Cierre del while exterior
System.out.println ("Felicitaciones, has adivinado !!!");
} } //Cierre del main y de la clase
Clase que genera un numero aleatorio entre 1 y 100 (ambos inclusivos)
import java.util.Random; //Ejemplo aprenderaprogramar.com
//Esta clase define un objeto que contienen un numero aleatorio entre 1 y 100
public class NumeroAleatorio {
//Campos de la clase
int numeroBuscado = 0;
public void generarNumero(){
Random numAleatorio;
numAleatorio = new Random ();
numeroBuscado = numAleatorio.nextInt(100)+1;
}
public int getNumero() {
return numeroBuscado;
} //Cierre del método
} //Cierre de la clase
clase para ingresar por el teclado - clase reutilizada
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java
// Definimos una clase EntradaDeTeclado aprenderaprogramar.com
public class EntradaDeTeclado {
private String entradaTeclado; //Variable de instancia (campo) de la clase
private int entradaNumero;
public EntradaDeTeclado () { //Constructor
entradaTeclado="";
entradaNumero=0;
// pedirEntrada(); //Esto es una llamada a un método interno. Al crear un objeto ejecutamos el método
} //Cierre del constructor
public void pedirEntrada () { //Método de la clase
Scanner entradaEscaner = new Scanner (System.in);
entradaTeclado = entradaEscaner.nextLine ();
} //Cierre del método pedirEntrada
public void pedirNumero (){
Scanner entradaEscaner = new Scanner (System.in);
entradaNumero = entradaEscaner.nextInt ();
}
public String getEntrada () { return entradaTeclado; } //Cierre del método getEntrada
public int getNumero() {return entradaNumero;}
public String getPrimeraPalabra () {
for (int i=0; i < entradaTeclado.length() - 1; i++) {
if (entradaTeclado.substring (i, i+1).equals(" ") ) { //IMPORTANTÍSIMO: COMPARAMOS CON EQUALS
return entradaTeclado.substring(0, i+1); }
}
return entradaTeclado; //Caso de que no se detecte ningún espacio devolvemos lo que haya
} //Cierre del método getPrimeraPalabra
public int getLongitud () { //Método de la clase
return entradaTeclado.length();
} //Cierre del método getLongitud
} //Cierre de la clase
-
A que ejercicios pertenece porque en el titulo no figura. Podes leer este link de como poner los títulos del ejercicios gracia.-- :)
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 (https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0)
-
Hola Dranxz88. El ejercio pertenece a la entrega nº72 "Generar números aleatorios en Java. Clase Random y método nextInt. Ejercicio ejemplo resuelto. (CU00672B)". El titulo lo tuve que recortar porque es demasiado largo y evité poner el nro de entrega/clase porque está indicado en las formas de escribir en el foro.
Muchas gracias por tu atención
Saludos
Luis
-
Hola LuisM, en el título del tema siempre se deben escribir palabras clave relacionadas con lo que se trata y, en el caso de ejercicios, incluir el código del ejercicio (por ejemplo CU00672B) para facilitar su localización y que las personas que revisan ejercicios puedan ayudarte. Tu ejercicio está bien resuelto, aunque siempre es bueno comparar las soluciones planteadas con las propuestas por otras personas en los foros. Por ejemplo puedes mirar esta solución: https://www.aprenderaprogramar.com/foros/index.php?topic=2277.0
Saludos