Autor Tema: Java. Pedir datos por consola, clase Scanner comprobar código compile CU00657B  (Leído 3797 veces)

Luis Fdo Carvajal

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 37
    • Ver Perfil
Respuesta al ejercicio CU00657B del tutorial de programación Java con BlueJ

Ya me alegré ; creo que sé cómo publicar. Este es mi respuesta al ejercicio:
Crea una clase con un método main que pida una entrada de teclado y usando condicionales, el método length de la clase String y el método substring de la clase String, muestre un mensaje indicando:
a) Si la cadena introducida tiene menos de 5 caracteres, o si tiene entre 5 y 15 caracteres o más de 15 caracteres.
b) Si la cadena introducida comienza por la letra a.
Ejemplo: se pide la entrada y el usuario introduce “vereda”. Por pantalla se debe mostrar: “La cadena introducida tiene entre 5 y 15 caracteres y no comienza por a”.

Código: [Seleccionar]
import java.util.Scanner;

public class EntradaTeclado{

private String texto;  //texto es una variable local
// Constructor de la clase

    public EntradaTeclado () { texto = ""; }

public static void main (String [ ] args) {

System.out.println ("Por favor introduzca un texto por teclado:");

        String texto = "";
        Scanner texto = new Scanner (System.in); //Creación de un objeto Scanner
        texto = texto.nextLine (); //Invocamos un método sobre un objeto Scanner

int longitud = texto.length();
System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");

    } //Cierre del main

//Comprobación cúantos caracteres tiene la cadena

public String Texto(String texto){       

if (texto. length() <5){ System.out.println ("El string tiene menos de cinco caracteres”); }

else {if (texto.length >=5 && texto. length <=15){ System.out.println ("El string tiene entre cinco y quince caracteres”);}
}else { if texto.length >=15){ System.out.println ("El string tiene más de quince caracteres”);}

}
public Comprueba Texto(String texto){
char inc = 'a';
String Texto = 'a';
if (String.valueOf(inc).equals(a)){
System.out.println ("el primer caracter es la letra “a” ”);}
else{}
}
« Última modificación: 26 de Mayo 2017, 19:11 por Alex Rodríguez »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:EJERCICIO (CU00657B)
« Respuesta #1 en: 20 de Marzo 2017, 23:42 »
Hola Luis Fdo Carvajal.

El código que presentaste no compila.

¿Lo probaste?

Te comento alguno de los errores:
Creas las variable texto como String, y en la línea siguiente intentas duplicarla pero con un tipo diferente, en este caso Scanner. Esto no se puede hacer, cada una de estas variables debe de tener un nombre distinto.

En otra línea intentas mostrar por consola el valor de la variable entradaTeclado, que no está ni siquiera creada.

Después tienes un bloque if con dos else, esto tampoco es correcto.

También creas un método con nombre "Comprueba Texto" y en el nombre de una variable, atributo, método, clase, etc. no pude haber espacios.

Te recomendaría seguir el curso desde el principio porque con el código que presentaste no queda muy claro que te hallan quedado claras las bases del lenguaje.

Saludos. ;D


Luis Fdo Carvajal

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 37
    • Ver Perfil
Re:Java. Pedir datos por consola, clase Scanner. CU00657B
« Respuesta #2 en: 30 de Marzo 2017, 17:42 »
Bueno, no lo había probado. Acá presento una nueva versión que si compila.
Gracias por tus comentarios
Código: [Seleccionar]
package cadena;

/**
 *
 * @author ITCO1724
 */
import java.util.Scanner;
public class Cadena{
   
    public static void main(String arg[]){
       
        String cadena="";
        String mensajeLongitud = " tiene menos de 5 caracteres";
        String mensajeLetraInicial = " y no comienza con a";
       
        Scanner scaner = new Scanner(System.in);
        System.out.print("Dame una cadena : ");
        cadena=scaner.nextLine();
       
        if(cadena.length()>5 && cadena.length()<=15){
            mensajeLongitud=" tiene entre 5 y 15 caracteres";
        }else{
            if(cadena.length()>15){
                mensajeLongitud=" tiene mas de 15 caracteres";}
        }
   
        if(cadena.substring(0,1).equalsIgnoreCase("a")){
            mensajeLetraInicial =" y comienza con a";}
       
        System.out.println("La cadena "+cadena+mensajeLongitud+" "+mensajeLetraInicial);
    }
}

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Java. Pedir datos por consola, clase Scanner. CU00657B
« Respuesta #3 en: 31 de Marzo 2017, 10:10 »
Buenas Luis Fdo.

Hay algún detalle que corregir, si introduzco una palabra con cinco caracteres, el mensaje que devuelve es que la cadena introducida tiene menos de 5 caracteres.

Por otra parte comentar que en el else del bloque if que usas introdujiste otro if, cuando lo mas normal es que hubieses resuelto de la siguiente forma:

Código: [Seleccionar]
if(condicion1) {
     ...
} else if(condicion2) {
    ...
} else {
    ...
}

Saludos. ;D

 

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