Autor Tema: cannot find symbol-class EntradaDeTeclado Pensar en objetos CU00661B  (Leído 2363 veces)

arcae01

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
  • el crack
    • Ver Perfil
He compilado los ejercios de la unidad (CU00661B) :Pensar en objetos. Una entrada de teclado o consola en Java como objeto con campos y métodos.

La compilacion de la clase EntradaDeTeclado ha sido sin errores.

La compilacion de la clase TestEntradaDeTeclado me da el error: cannot find symbol-class EntradaDeTeclado. Lo he revisado como unas veinte veces a pesar de mi dificultad visial( resto0.04%).

Utilizo la version de BlueJ 4.0.1. Por favor aver si alguien puede decirme por que no funciona. Gracias

Código: [Seleccionar]

/**
 * Write a description of class EntadaDeTeclado here.
 *
 * Autor: Antonio Rojas
 * Versión: Nº01     fecha: 20170613
 */

import java.util.Scanner;    //Importacióndel códigodem la clase Scanner desde la biblioteca Java

//Definimos uns clase EntradaDeTeclado
public class EntadaDeTeclado
{
    // Variable de instancia(campo) de la clase
    private String entradaTeclado;

    /**
     * Constructor de la clase EntadaDeTeclado
     */
    public EntadaDeTeclado()
    {
        // initialise instance variables
        entradaTeclado="";
        pedirEntrada();  //Esto es una llamada a un metodo interno. Al crear un objeto automaticamente ejecutamos el método
       
    }

    /**
     * Metodo pedirEntrada
     *
     */
   
    // Metodo de la clase
    public void pedirEntrada()
    { 
        Scanner entradaEscaner = new Scanner(System.in);   
        entradaTeclado = entradaEscaner.nextLine();
    }
   
    public String getEntrada()
    {
        return entradaTeclado;
    }
   
    public String getPrimeraPalabra()
    {
        /*IMPORTANTE:EN JAVA LOS OBJETOS NO SE PUEDEN COMPARAR USANDO == POR ESTO NO FUNCIONARA
        if(entradaTeclado.substring(0,1) == "j"
        {
            System.out.println ("Hemos detectado una j";
        }
        else {
            System.out.println "Mira esto "+ entradaTeclado.subtring(0,i+1);
        }
        */
       
        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;   //En caso que no se detecte ningun espacio devolvemos lo que haya
    }
   
    // Metodo de la clase
    public int getLongitud()
    {   
        return entradaTeclado.length();
    }
       
}

**********
public class TestEntradaDeTeclado
{
    public static void main (String[]args)
    {
       
         
           System.out.println ("Empezamos el programa");
           
           System.out.println ("Por favor introduzca la entrada 1:");
           // EntradaDeTeclado entrada1;
           //entrada1 = new EntradaDeTeclado();        //Da el error no puedo encontrar la clase EntraDeTeclado
           
           EntradaDeTeclado entrada1 = new EntradaDeTeclado();  // Da el error no puedo encontrar la clase  EntradaDeTeclado
                     
           System.out.println ("Por favor introduzca la entrada 2:");
           EntradaDeTeclado entrada2 = new EntradaDeTeclado();
           
           System.out.println ("Por favor introduzca la entrada 3:");
           EntradaDeTeclado entrada3 = new EntradaDeTeclado();
           
           System.out.println("Gracias");
           
           System.out.println ("La entrada 1 ha sido" + entrada1.getEntrada() +"y consta de " +entrada1.getLongitud() + "caracteres");
           System.out.println ("La entrada 1 ha sido" + entrada2.getEntrada() +"y consta de " +entrada2.getLongitud() + "caracteres");
           System.out.println ("La entrada 1 ha sido" + entrada3.getEntrada() +"y consta de " +entrada3.getLongitud() + "caracteres");
           
           System.out.println ("La primera palabra de la entrada 1 es" + entrada1.getPrimeraPalabra());
           System.out.println ("La primera palabra de la entrada 2 es" + entrada1.getPrimeraPalabra());
           System.out.println ("La primera palabra de la entrada 3 es" + entrada1.getPrimeraPalabra());
    }
}




Muchas gracias.
« Última modificación: 16 de Junio 2017, 22:12 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas arcae01 por favor cuando pegues código de clases, pon primero el nombre de la clase y luego el código de la clase entre las etiquetas [ code ] --- [ /code]

He revisado tu código y parece que el error se debe a "un pequeño detalle"

La clase de la entrada de teclado tiene como nombre en el código "EntadaDeTeclado" si te fijas en lugar de Entrada pone Entada

Al faltar la r el compilador piensa que se trata de una clase distinta

Una vez corrijas el nombre de la clase (también tendrás que corregir el constructor) verás que ya te compila sin problemas

También comentarte que dado que llevas el curso avanzado y necesitamos ayuda en los foros, para nosotros sería de agradecer que nos ayudes a responder a otros compañeros que estén empezando el curso o que consulten cosas que sepas responder sobre java u otros lenguajes. No hace falta haber terminado el curso para responder en los foros, basta con tener voluntad de colaboración.

Salu2

 

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