Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: niurkafer en 13 de Agosto 2015, 13:42
-
Hola que tal? me gustaria saber como lo he hecho
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.
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”.
import java.util.Scanner;
public class Cadena{
private String letraInicial;
private int longitudPalabra;
public static void main (String [ ] args) {
System.out.println ("empezemos a programar");
System.out.println ("por favor introduzca una palabra:");
String entradaTeclado ="";
Scanner entradaEscaner = new Scanner (System.in);//creacion de un objero
entradaTeclado = entradaEscaner.nextLine();
String letraInicial = entradaTeclado.substring(0,1);
int longitudPalabra = entradaTeclado.length();
//equals = compobar si la primera letra es = a
if (letraInicial.equalsIgnoreCase("A")){
System.out.println("La primera letra de la cadena empieza con A/a");
}
else {
System.out.println("La cadena no comienza por A/a");
}
//metodo length
if (longitudPalabra < 5){
System.out.println("Esta Cadena tiene menos de 5 letras");
}
if (longitudPalabra>=5 && longitudPalabra<= 15){
System.out.println("Esta cadena tiene entre 5 y 15 caracteres");
}
if (longitudPalabra > 15){
System.out.println("Esta cadena tiene mas de 15 caracteres");
}
}
}//cierre de la clase
-
Hola! La lógica está bien planteada aunque tienes errores en el código
- Una clase con el main normalmente no tiene atributos porque no está destinada a crear objetos sino a iniciar el programa. Por ello la declaración de atributos sobraría:
private String letraInicial;
private int longitudPalabra;
- En caso de definir un atributo letraInicial no deberías usar una variable local con el mismo nombre ya que esto genera confusión, caso de String letraInicial = entradaTeclado.substring(0,1);
En este caso lo más adecuado es eliminar el atributo y dejar la variable local.
Este hilo https://www.aprenderaprogramar.com/foros/index.php?topic=2873 es un ejemplo de ejercicio bien resuelto
Saludos!