Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - dferna

Páginas: 1 [2]
21
Buenas  ;)

Aquí expongo mi solución al ejercicio de "Adivinar número" de la entrega CU00672B del curso elemental de programación Java con IDE BlueJ.

Esta es la clase principal con el main

Código: [Seleccionar]
package aplicacion;

import utilidades.Utilidades;
import aleatorio.NumeroAleatorio;

public class AdivinarNumero {

public static void main(String[] args) {

Utilidades utilidades = new Utilidades();
NumeroAleatorio nAleatorio = new NumeroAleatorio();
int numeroIntroducido = 0;
int nAleatorioGenerado = 0;

nAleatorioGenerado = nAleatorio.generarNumeroAleatorio();
System.out.println("Se ha generado un número aleatorio entre 1 y 100, intente adivinarlo.");
numeroIntroducido = utilidades.pideNumero();

while (numeroIntroducido != nAleatorioGenerado) {

if (nAleatorioGenerado < numeroIntroducido) {
System.out.println("No has acertado: el número es menor. Prueba otra vez.");
} else if (nAleatorioGenerado > numeroIntroducido) {
System.out.println("No has acertado: el número es mayor. Prueba otra vez.");
}
numeroIntroducido = utilidades.pideNumero();
}
System.out.println("Enhorabuena has acertado el número secreto.");
}

}

Esta clase contiene solo un método que genera el numero aleatorio en el rango especificado. Utilizo "System.currentTimeMillis()" para que cada vez que me genere el número aleatorio la semilla sea diferente.

Código: [Seleccionar]
package aleatorio;

import java.util.Random;

public class NumeroAleatorio {


public NumeroAleatorio(){

}


public int generarNumeroAleatorio(){
Random numAleatorio = new Random(System.currentTimeMillis());
//Generar número aleatorio int entre 1 y 100
int intNumeroAleatorio = 1+numAleatorio.nextInt(100);

return intNumeroAleatorio;
}
}

Y por último he desacoplado un poco mas el código sacando a otra clase de otro paquete los métodos de pedida de datos.

Código: [Seleccionar]
package utilidades;

import java.util.Scanner;

public class Utilidades {

public int pideNumero() {

Scanner sc = new Scanner(System.in);
int entradaTeclado = sc.nextInt();

return entradaTeclado;
}

public String pideCadena() {

Scanner sc = new Scanner(System.in);
String entradaTeclado = sc.nextLine();

return entradaTeclado;
}
}


Aquí dejo una salida por pantalla de una prueba.

Código: [Seleccionar]
Se ha generado un número aleatorio entre 1 y 100, intente adivinarlo.
30
No has acertado: el número es mayor. Prueba otra vez.
70
No has acertado: el número es menor. Prueba otra vez.
40
No has acertado: el número es menor. Prueba otra vez.
35
No has acertado: el número es menor. Prueba otra vez.
33
No has acertado: el número es menor. Prueba otra vez.
32
No has acertado: el número es menor. Prueba otra vez.
31
Enhorabuena has acertado el número secreto.


Saludos  ;)

22
Buenas  :D

Ya lo he corregido, aquí esta la solución correcta

Código: [Seleccionar]
package aplicacion;

import java.util.Scanner;

public class AdivinarMes {

public static void main(String[] args) {

String[] meses = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre",
"octubre", "noviembre", "diciembre" };
String mesSecreto = meses[7];
String mesIntroducido = "";

System.out.println("Adivine el mes secreto. Introduzca el nombre del mes en minúsculas: ");
mesIntroducido = pideCadena();
while (!mesIntroducido.equals(mesSecreto) && !mesIntroducido.equals("")) {
if (!mesIntroducido.equals(mesSecreto)) {
System.out.println("No ha acertado. Intente adivinarlo introduciendo otro mes:");
mesIntroducido = pideCadena();
}
}
System.out.println("¡Has acertado!");
}

private static String pideCadena() {

Scanner sc = new Scanner(System.in);
String entradaTeclado = sc.nextLine();

return entradaTeclado;
}

}

Y esta la salida por consola de una prueba

Código: [Seleccionar]
Adivine el mes secreto. Introduzca el nombre del mes en minúsculas:
julio
No ha acertado. Intente adivinarlo introduciendo otro mes:
marzo
No ha acertado. Intente adivinarlo introduciendo otro mes:
abril
No ha acertado. Intente adivinarlo introduciendo otro mes:
agosto
¡Has acertado!

Saludos  :D

23
Gracias por revisarlo, se me pasó por alto no me di cuenta al probarlo, lo reviso y lo corrijo.

Saludos  :)

24
Hola a todos!

Aquí os dejo mi solución al ejercicio adivinar mes del tutorial de aprendizaje Java con BlueJ.

Código: [Seleccionar]
package aplicacion;

import java.util.Scanner;

public class AdivinarMes {

public static void main(String[] args) {

String[] meses = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre",
"octubre", "noviembre", "diciembre" };
String mesSecreto = meses[7];
String mesIntroducido = "";

while (!mesIntroducido.equals(mesSecreto)) {
System.out.println("Adivine el mes secreto. Introduzca el nombre del mes en minúsculas: ");
mesIntroducido = pideCadena();
if (mesIntroducido.equals(mesSecreto)) {
System.out.println("¡Has acertado!");
} else {
System.out.println("No ha acertado. Intente adivinarlo introduciendo otro mes:");
mesIntroducido = pideCadena();
}
}
}

private static String pideCadena() {

Scanner sc = new Scanner(System.in);
String entradaTeclado = sc.nextLine();

return entradaTeclado;
}

}

Saludos!!

25
Aqui aporto mi solución al ejercicio CU00659B del curso de programación POO con Java, deletrear palabras con while:


He creado dos paquetes diferentes diferentes, aplicación donde solo estará el método main y el paquete cadenas donde se encuentra la clase con la lógica:

Paquete aplicación con la clase Principal:
Código: [Seleccionar]
package aplicacion;


import cadenas.Cadenas;
/**
 *  Clase Principal
 */
public class Principal
{
    public static void main(String[] args){
        Cadenas cadena = new Cadenas();
        cadena.deltrearCadena();
    }
}

Paquete cadenas con la clase Cadenas:

Código: [Seleccionar]
import java.util.Scanner;

/**
 * Clase Cadenas
 */
public class Cadenas
{
   public String pideCadena(){
       
       Scanner entradaEscaner = new Scanner(System.in);
       String cadena = entradaEscaner.nextLine();
       return cadena;
   }
   
   public void deltrearCadena(){
   
       System.out.println("Introduzca la palabra: ");
       String cadena = pideCadena();
       System.out.println("La palabra introducida es: "+cadena);
       int contador = 0;
       int numeroLetra = 0;
       while(contador < cadena.length()){
           numeroLetra++;
           System.out.println("Letra "+(numeroLetra)+": "+cadena.substring(contador,contador+1));
           contador++;
        }
   }
}

Salida del programa:
Citar
La palabra introducida es: David
Letra 1: D
Letra 2: a
Letra 3: v
Letra 4: i
Letra 5: d

Páginas: 1 [2]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".