Autor Tema: Cómo usar arrays o arreglos Java. Objetos y tipos primitivos; length. CU00669B  (Leído 2141 veces)

LuisM

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 131
    • Ver Perfil
Hola a todos, pego el codigo del ejercicio CU00669B del taller práctico de programación orientada a objetos con Java y BlueJ. Desde ya muchas gracias.

Saludos, Luis.

clase principal - método main

Código: [Seleccionar]
import java.util.*;
// Aquí el test con el método main
public class TestMeses {
    public static void main (String [ ] args) {
        EntradaDeTeclado entrada = new EntradaDeTeclado();
        boolean acierto = false;
        String respuesta = "";
        String[ ] meses = new String [12];
        meses [0] = "enero";
        meses [1] = "febrero";
        meses [2] = "marzo";
        meses [3] = "abril";
        meses [4] = "mayo";
        meses [5] = "junio";
        meses [6] = "julio";
        meses [7] = "agosto";
        meses [8] = "setiembre";
        meses [9] = "octubre";
        meses [10] = "noviembre";
        meses [11] = "diciembre";
        String mesSecreto = meses [9];         
        do {
            System.out.println("Adivine el mes secreto. Introduzca el nombre del mes en minúsculas:");
            entrada.pedirEntrada();
            respuesta=entrada.getEntrada();
            if (respuesta.equals(mesSecreto)) { System.out.println("Has acertado !");
                acierto = true;}
        }
        while (acierto==false);
    }
} //Cierre del main


Clase para la entrada por teclado del nombre del mes - ya utilizada en otros ejercicios

Código: [Seleccionar]
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
« Última modificación: 29 de Julio 2017, 19:21 por Alex Rodríguez »

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Está bien resuelto, pero puedes optimizar más tu código sin usar otra variable. Como ejemplo donde dice boolean acierto eso lo puedes omitir poniendo así en la condición while.

Código: [Seleccionar]
while (respuesta.equals(mesSecreto) == false);
« Última modificación: 29 de Julio 2017, 19:19 por Alex Rodríguez »

 

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".