Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado 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
/**
* 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.
-
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