2
« en: 24 de Julio 2014, 13:42 »
Hola, en la pagina 107 del libro hay 2 clases. Las he copiado tal cual y al compilar no hay errores ni nada, pero cuando voy a introducir cadenas tengo que escribir darle al enter volver a escribir y darle al enter para introducir la primera cadena. Asi tengo que hacer con el resto de cadenas. No entiendo porque. No deberia ser todo seguido. Introduces una cadena le das al enter y ya te pide que insertes la siguiente cadena? Espero puedan ayudar con esta duda. Un saludo.
Clase EntradaTeclado:
import java.util.Scanner;
public class EntradaDeTeclado {
private String entradaTeclado;
public EntradaDeTeclado(){
entradaTeclado = "";
pedirEntrada();
}
public void pedirEntrada(){
Scanner entradaScanner = new Scanner(System.in);
entradaTeclado = entradaScanner.nextLine();
}
public String getEntrada() {
return entradaTeclado;
}
public String getPrimeraPalabra(){
for(int i = 0; i < entradaTeclado.length() - 1; i++){
if(entradaTeclado.substring(i, i + 1).equals(" ")){
return entradaTeclado.substring(0, i + 1);
}
}
return entradaTeclado;
}
public int getLongitud(){
return entradaTeclado.length();
}
}
Clase Test
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 = new EntradaDeTeclado();
entrada1.pedirEntrada();
System.out.println("Por favor introduzca la entrada 2");
EntradaDeTeclado entrada2 = new EntradaDeTeclado();
entrada2.pedirEntrada();
System.out.println("Por favor introduzca la entrada 3");
EntradaDeTeclado entrada3 = new EntradaDeTeclado();
entrada3.pedirEntrada();
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 2 ha sido: " + entrada2.getEntrada() + " y consta de " + entrada2.getLongitud() + " caracteres");
System.out.println("La entrada 3 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 " + entrada2.getPrimeraPalabra());
System.out.println("La primera palabra de la entrada 3 es " + entrada3.getPrimeraPalabra());
}
}