El método startsWith() pertenece a la clase String, por tanto, se puede invocar directamente desde el objeto donde hemos recogido la palabra introducida por teclado.
if (palabra.startsWith("a"))
System.out.println(" y comienza por \"a\"");
else
System.out.println(" y no comienza por \"a\"");
Como puedes ver, el argumento que le proporcionamos a ese método es otro String, en este caso un "a", ya que es la letra que queremos comprobar si se encuentra al comienzo de la palabra o no.
Entonces, si ponemos todo esto junto al resto del código, podemos construir una sola oración en pantalla si donde comprobamos las longitudes usamos print() en lugar de println().
public class CU00657B {
public static void main(String[] args) {
Scanner entradaEscaner = new Scanner(System.in);
System.out.println("Introduzca una palabra");
String palabra = entradaEscaner.nextLine();
if (palabra.length() < 5 ){
System.out.print("La cadena introducida tiene menos de 5 caracteres");
} else if (palabra.length() >= 5 && palabra.length() <= 15){
System.out.print("La cadena introducida tiene entre 5 y 15 caracteres");
} else if (palabra.length() > 15 ) {
System.out.print("La cadena introducida tiene más de 15 caracteres");
}
if (palabra.startsWith("a"))
System.out.println(" y comienza por \"a\"");
else
System.out.println(" y no comienza por \"a\"");
entradaEscaner.close();
}
}
En pantalla veremos que se construye una sola oración, y se muestran las comillas "" gracias a que usamos el
backlashIntroduzca una palabra
avioneta
La cadena introducida tiene entre 5 y 15 caracteres y comienza por "a"
Por cierto, un último comentario.
En los
if else donde comprobamos la longitud de la cadena, están correctísimos y funcionan perfectamente tal cuál están escritos.
Pero hay una redundancia, la que señalo en rojo:
if (palabra.length() < 5 ){
System.out.print("La cadena introducida tiene menos de 5 caracteres");
} else if (palabra.length() >= 5 && palabra.length() <= 15){
System.out.print("La cadena introducida tiene entre 5 y 15 caracteres");
} else if (palabra.length() > 15 ) {
System.out.print("La cadena introducida tiene más de 15 caracteres");
}
No es necesario preguntar si la cadena es mayor o igual a 15, porque anteriormente ya se ha preguntado por todas las otras posibilidades posibles (valga la redundancia)
Es decir, si ya sabemos que la cadena NO es menor de 5 caracteres, ni tampoco es menor o igual de 15 caracteres, ya la única posibilidad que nos queda es que sea mayor de 15.
Es decir, podemos "ahorrarnos" en el código esa última pregunta.
Si se pone no pasa nada, es correcto. Pero en programación es habitual acabar desarrollando una obsesión por el ahorro je je..
if (palabra.length() < 5 ){
System.out.print("La cadena introducida tiene menos de 5 caracteres");
} else if (palabra.length() >= 5 && palabra.length() <= 15){
System.out.print("La cadena introducida tiene entre 5 y 15 caracteres");
} else { //La única posibilidad es que sea mayor de 15
System.out.print("La cadena introducida tiene más de 15 caracteres");
}
Un saludo.