Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Lorenzo31 en 23 de Marzo 2015, 18:50
-
Solución del 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, entre 5 y 15 caracteres o más de 15 caracteres.
b) Si la cadena introducida comienza por la letra a.
Primero, he tenido que utilizar el metodo texto.equals("a") para poder comparar textos porque con == no me lo detectaba.
He intentado controlar la no introduccion de cadena de texto alguna con un do while
import java.util.Scanner;
public class VerificadorCadena{
public static void main (String[] args){
String texto = "";
int largoCadena = 0;
String primeraA = "";
do{
System.out.println("Introduce una cadena de texto ");
Scanner sc = new Scanner(System.in);
texto = sc.nextLine(); }
while (texto.equals(""));
largoCadena = texto.length();
//Comprobar si la primera letra es la letra A
if(texto.substring(0,1).equals("a") || texto.substring(0,1).equals("A")){
primeraA = "SI";
}else{ primeraA = "NO";}
if ( largoCadena < 5 ){
System.out.println("La cadena introducida tiene menos de 5 carácteres y la primera letra " + primeraA + " es la a");
}
else if ( largoCadena >= 5 && largoCadena <= 15 ){
System.out.println("La cadena introducida tiene entre 5 y 15 carácteres y la primera letra " + primeraA + " es la a");
}
else { System.out.println("La cadena introducida tiene más de 15 carácteres y la primera letra " + primeraA + " es la a");
}
} //Cierre del Main
} //Cierre de clase
-
Hola Lorenzo
Ejercicio correcto.
Está bien que tus programas controlen lo que introduce el usuario.
Aunque parezca mentira, los programas bien hechos incorporan mucho código para chequear las acciones de quien utiliza el programa.
Apunte para mejorar el código:
La línea:
if(texto.substring(0,1).equals("a") || texto.substring(0,1).equals("A"))
se puede simplificar utilizando el método equalsIgnoreCase(String) que da la misma respuesta para mayúsculas que para minúsculas. Ejem.
if(texto.substring(0,1).equalsIgnoreCase("a"))
Saludos
-
Apuntado en mi libreta ;) gracias toni como siempre por el tiempo dedicado y los consejos.