Autor Tema: En este ejercicio Java no me funcionaba la comprobación de las letras CU00657B  (Leído 2923 veces)

hymsoft

  • Intermedio
  • ***
  • Mensajes: 103
  • hymsoft
    • Ver Perfil
Después de una semana laaaaarga de trabajo dejo una nueva resolución, ejercicio CU00657B del tutorial práctico de programación Java con ejercicios resueltos. Como siempre, espero comentarios :-)

En este ejercicio no  me funcionaba la comprobación de la letra a así que buscando comparación de cadenas en java encontre el método equals de la clase String :-)

Código: [Seleccionar]
/**
 * Resolucion al ejercicio CU00657B
 *
 * @author Hugo Segura
 * @version (a version number or a date)
 */
import java.util.Scanner;

public class ejercicioClase57
{
     
    public static void main(String[]args){
        //Declarcion de variables
        String entradaTexto = "";//recibe un ingreso de texto por el teclado
        int cantidadCaracteres = 0;
        String miTexto = " entre 5 y 15 ";//Valor por defecto de la cantidad de caracteres
        String comienzaConA = " no comienza con a";//Valor por defecto si comienza con la letra a
        String primeraLetra = "";//aca guardo la primera letra de la cadena ingresada
        //fin declaracion de variables
       
        Scanner entradaScanner = new Scanner(System.in);
        System.out.println("Ingrese una cadena de caracteres por favor...");
        entradaTexto = entradaScanner.nextLine();
       
        //compruebo que cantidad de caracteres ingreso el usuario
        cantidadCaracteres = entradaTexto.length();
        //Si se cumple alguna de las condiciones modifico el texto sino, uso el valor por defecto
        if(cantidadCaracteres < 5){
            miTexto = " menos de 5 ";
        }else if(cantidadCaracteres > 15){
            miTexto = " más de 5 ";
        }
       
        //compruebo si la cadena que ingreso el usuario comienza con a
        //si se cumple la condicion modifico el texto sino uso el valor por defecto
        System.out.println(entradaTexto.substring(0,1));
        primeraLetra = entradaTexto.substring(0,1);
        if (primeraLetra.equals("a") || primeraLetra.equals("A")){
            comienzaConA = " cominza con la letra a ";
        }
       
        //Imprimo la resolucion del ejercicio
        System.out.println("La cadena introducida tiene" + miTexto + "caracteres y" + comienzaConA);
    }//cierre main
}//cierre clase
« Última modificación: 14 de Julio 2016, 17:47 por Alex Rodríguez »
"Una persona inteligente es aquel que sabe ser tan inteligente como para contratar gente mas inteligente que el"

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:Pedir datos por consola(Teclado) (CU00657B)
« Respuesta #1 en: 06 de Julio 2016, 21:42 »
El código función super bien, está bien resuelto. Solo alguna sugerencia; si es posible tenes que dividir por clase para que el código sea más orientado a objetos.

Y un comentario sobre tu condición:

Código: [Seleccionar]
if (primeraLetra.equals("a") || primeraLetra.equals("A")){
            comienzaConA = " cominza con la letra a ";
        }

Podías poner así nomas que toma igual si es mayúscula o minúscula es un comentario nomas:

Código: [Seleccionar]
if (primeraLetra.equalsIgnoreCase("a")) {
            comienzaConA = " cominza con la letra a ";
        }

Y comienza, escribiste cominza, solo es una observación. Código bien, saludos  :) :)
« Última modificación: 14 de Julio 2016, 17:48 por Alex Rodríguez »

hymsoft

  • Intermedio
  • ***
  • Mensajes: 103
  • hymsoft
    • Ver Perfil
Re:Pedir datos por consola(Teclado) (CU00657B)
« Respuesta #2 en: 07 de Julio 2016, 23:44 »
Muchas gracias DRANXZ. Todo lo que me dicen lo voy incorporando. En lo que respecta a lo de clases es que haga una clase con el método main y de ahi llame a otra clase que me devuelva el resultado de el ejercicio???
"Una persona inteligente es aquel que sabe ser tan inteligente como para contratar gente mas inteligente que el"

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:Pedir datos por consola(Teclado) (CU00657B)
« Respuesta #3 en: 07 de Julio 2016, 23:51 »
Sí, podes crear una clase donde hay un método que te haga todo lo que hiciste en el main que es comprobar la cantidad de carácter y si empieza por a y como tenemos luego una clase entrada del teclado creado podes utilizar eso para gestionar el teclado. Pero es una opinión nomas esta bien como hace. Yo te digo que divida por clases para estar más familiarizado con la POO.
« Última modificación: 14 de Julio 2016, 17:49 por Alex Rodríguez »

hymsoft

  • Intermedio
  • ***
  • Mensajes: 103
  • hymsoft
    • Ver Perfil
Re:Pedir datos por consola(Teclado) (CU00657B)
« Respuesta #4 en: 07 de Julio 2016, 23:59 »
Gracias!!! estuve a punto de usar la clase entrada teclado, te juro, pero como era de otro ejercicio no la use :-/ Dale... a partir de ahora por a tomar tu consejo y de paso me va a servir para que me digas por ejemplo si van bien divididas las clases.
Un saludo!!
"Una persona inteligente es aquel que sabe ser tan inteligente como para contratar gente mas inteligente que el"

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:Pedir datos por consola(Teclado) (CU00657B)
« Respuesta #5 en: 08 de Julio 2016, 00:04 »
Así nomas se aprende, ayudándonos todos. Dividir por clases y crear métodos reutilizables es un objetivo de la programación orientada a objetos saludos y siga adelante.
« Última modificación: 14 de Julio 2016, 17:50 por Alex Rodríguez »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".