Autor Tema: Ejemplo del tema CU00661B no corre Scanner java  (Leído 2933 veces)

Zikem10

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Ejemplo del tema CU00661B no corre Scanner java
« en: 02 de Agosto 2014, 18:29 »
Este programa no corre cuando trato de crear el objeto

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

 

    public EntradaDeTeclado ()  { //Constructor

        entradaTeclado="";

        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 String getEntrada () { return entradaTeclado; } //Cierre del método getEntrada

    public String getPrimeraPalabra ()  {

       /*IMPORTANTE: EN JAVA LOS OBJETOS NO SE PUEDEN COMPARAR USANDO == POR ESO ESTO NO FUNCIONARÁ       

          if (entradaTeclado.substring(0,1)=="j") {

          System.out.println ("Hemos detectado una j");

          } else { System.out.println ("Mira esto:" + entradaTeclado.substring(0,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;  //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: 31 de Agosto 2014, 11:06 por Alex Rodríguez »

dongo

  • Intermedio
  • ***
  • Mensajes: 177
    • Ver Perfil
Re:Ejemplo del tema CU00661B no corre
« Respuesta #1 en: 02 de Agosto 2014, 20:18 »
Hola, bueno he estado probando tu ejemplo y no se la verdad que la clase entrada esta un poco extraña creada, porque ya al crear al objeto, directamente pides una cadena llamando al método "pedirCadena()" por este constructor:


Código: [Seleccionar]
public Prueba ()  { //Constructor

        entradaTeclado="";

        pedirEntrada(); //Esto es una llamada a un método interno. Al crear un objeto ejecutamos el método

    } //Cierre del constructor

He realizado una prueba de tu clase y funciona bien, ¿podrías ponernos el trozo de código que intentas ejecutar tu?

Este es el main que yo he ejecutado y me ha servido:

Código: [Seleccionar]
public static void main(String[] arg){
       
        System.out.println("Inserta una frase:");
        EntradaDeTeclado p =new EntradaDeTeclado();
       
        String cadena=p.getEntrada();
        System.out.println(cadena);
       
    }

Intenta eso, ponernos como intentas crear el objeto. Un saludo!

Nota: Ten en cuenta, que en el momento que llamas al constructor, ya el programa esta esperando que metas una cadena por teclado. A lo mejor es por eso por lo que piensas que no funciona.
« Última modificación: 02 de Agosto 2014, 20:21 por dongo »

 

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