Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: arcae01 en 16 de Junio 2017, 20:27

Título: cannot find symbol-class EntradaDeTeclado Pensar en objetos CU00661B
Publicado por: arcae01 en 16 de Junio 2017, 20:27
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.
Título: Re:APRENDER A PROGRAMAR DESDE CERO UNIDAD CU00661B Pensar en objetos.Entrad de tec
Publicado por: Ogramar en 16 de Junio 2017, 22:11
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