Foros aprenderaprogramar.com
		Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: hymsoft en 06 de Julio 2016, 20:21
		
			
			- 
				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 :-)
 
 /**
 * 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
 
- 
				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:
 
 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:
 
 if (primeraLetra.equalsIgnoreCase("a")) {
 comienzaConA = " cominza con la letra a ";
 }
 Y comienza, escribiste cominza, solo es una observación. Código bien, saludos  :) :)
 
- 
				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???
			
- 
				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.
			
- 
				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!!
- 
				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.