Autor Tema: Java comprobar si una palabra empieza con una letra String startsWith CU00657B  (Leído 20915 veces)

Maria Lozano

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Esta sería mi forma de resolver el ejercicio, pero no se si las variables x,min y may estarían bien declaradas ahí y así, aunque ha sido la única forma de que no me den fallo.

Código: [Seleccionar]

import java.util.Scanner;

public class miprueba2{

    //constructor
    public miprueba2(){
    }

    public static void main(String[] args){
   
        System.out.println ("Por favor introduzca una cadena por teclado:");
        String entradaTeclado = "";
       
        Scanner entradaEscaner = new Scanner (System.in);

        entradaTeclado = entradaEscaner.nextLine ();

        System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");

        int x=entradaTeclado.length();
        boolean min=entradaTeclado.substring(0).startsWith("a");
        boolean may=entradaTeclado.substring(0).startsWith("A");

        if (x<5){
            System.out.println("La cadena introducida tiene menos de 5 caracteres");
            LetraInicial(min, may);

        }else if(5<=x && x<=15){

            System.out.println("La cadena introducida tiene entre 5 y 15 caracteres");
            LetraInicial(min,may);

        }else if(x>15){

            System.out.println("La cadena introducida tiene más de 15 caracteres");
            LetraInicial(min,may);

        }
    }

     
    public static void  LetraInicial(boolean minuscula,boolean mayuscula){
        if (minuscula||mayuscula){
            System.out.println("Además comienza por la letra A");
        }else{
            System.out.println("Y no comienza por la letra A");
        }
    }

}
     
Gracias!
« Última modificación: 28 de Agosto 2015, 13:42 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola María

Tu código resuelve el ejercicio correctamente

Te voy a dar algunas recomendaciones:

- Los nombres de las clases deben comenzar con una letra mayúscula (por convención, no es obligatorio) y describir el fin o cometido de la clase

- Los nombres de los métodos deben comenzar con una letra minúscula (por convención, no es obligatorio) y describir el fin o cometido del método

- Si ves que un código se repite, plantéate si es posible evitar la repetición. En general la repetición de código debe evitarse (tampoco hay que llevar esto al último extremo, pero sí tenerlo en cuenta)

Con esto he hecho algunos cambios en tu código, fíjate en ellos pues estudiarlos te puede resultar útil y deberías tener todo esto en cuenta para los próximos ejercicios

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

public class TestCadenasConA{

    //constructor
    public TestCadenasConA(){
    }

    public static void main(String[] args){

        System.out.println ("Por favor introduzca una cadena por teclado:");
        String entradaTeclado = "";

        Scanner entradaEscaner = new Scanner (System.in);

        entradaTeclado = entradaEscaner.nextLine ();

        System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");

        int x=entradaTeclado.length();
        boolean empiezaConA=entradaTeclado.substring(0).startsWith("a")|| entradaTeclado.substring(0).startsWith("A");

        if (x<5){
            System.out.println("La cadena introducida tiene menos de 5 caracteres");

        }else if(5<=x && x<=15){
            System.out.println("La cadena introducida tiene entre 5 y 15 caracteres");

        }else if(x>15){
            System.out.println("La cadena introducida tiene más de 15 caracteres");
        }
        mostrarSiEmpiezaConA(empiezaConA);
    }

    public static void  mostrarSiEmpiezaConA(boolean empiezaConA){
        if (empiezaConA){
            System.out.println("Además comienza por la letra A");
        }else{
            System.out.println("Y no comienza por la letra A");
        }
    }
}

También es útil ver otras respuestas en los foros, por ejemplo www.aprenderaprogramar.com/foros/index.php?topic=2873 y compararlas con tu respuesta para ver cómo lo han hecho otras personas

Saludos

christagary

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Buenas noches,

Tengo el siguiente codigo para el ejercicio:

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

public class Ejercicio57 {
   
    public Ejercicio57(){}

    public static void main (String[] args){

        System.out.println ("Empezamos el programa");
        System.out.println ("Por favor introduzca una cadena por teclado:");
        Scanner entradaScanner = new Scanner (System.in);
        String entradaTeclado = entradaScanner.nextLine();
        System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");

        String caracteres = "";
       
        int nroCaracteres = entradaTeclado.length();
        boolean empiezaConA = entradaTeclado.substring(0).startsWith("a") || entradaTeclado.substring(0).startsWith("A");                   

        if (nroCaracteres < 5) { caracteres = "menos de 5 caracteres"; }
        else if (nroCaracteres >= 5 && nroCaracteres <= 15) { caracteres = "entre 5 y 15 caracteres"; }
        else { caracteres = "mas de 15 caracteres"; }       

        if (empiezaConA) {System.out.println("La cadena introducida tiene " + caracteres + " y empieza con la letra a");}
        else {System.out.println("La cadena introducida tiene " + caracteres + " y no empieza con la letra a");}

    }
   
}

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola christagary, para incluir una solución a un ejercicio en los foros abre un nuevo hilo. Sólo responde sobre un hilo existente si vas a seguir una conversación abierta.

Tu ejercicio está correcto  :D

También puede resolverse sin usar startsWith como se hace en este hilo: https://www.aprenderaprogramar.com/foros/index.php?topic=2873.0

Saludos

 

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