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

Título: Pedir datos por consola (teclado) en java CU00657B clase con método main
Publicado por: niurkafer en 13 de Agosto 2015, 13:42
Hola que tal? me gustaria saber como lo he hecho

Citar
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”.

Código: [Seleccionar]
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
Título: Re:Pedir datos por consola (teclado) en java CU00657B clase con método main
Publicado por: César Krall en 15 de Agosto 2015, 15:28
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!