Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Maria Lozano en 26 de Agosto 2015, 19:10

Título: Java comprobar si una palabra empieza con una letra String startsWith CU00657B
Publicado por: Maria Lozano en 26 de Agosto 2015, 19:10
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!
Título: Re:Java comprobar si una palabra empieza con una letra String startsWith CU00657B
Publicado por: Alex Rodríguez en 28 de Agosto 2015, 13:44
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
Título: Re:Java comprobar si una palabra empieza con una letra String startsWith CU00657B
Publicado por: christagary en 24 de Octubre 2015, 07:50
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");}

    }
   
}
Título: Re:Java comprobar si una palabra empieza con una letra String startsWith CU00657B
Publicado por: Alex Rodríguez en 26 de Octubre 2015, 12:54
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