Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Maria Lozano en 26 de Agosto 2015, 19:10
-
Esta sería mi forma de resolver el ejercicio, pero no se si las variables x,min y may estarían bien declaradas ahí y así, aunque ha sido la única forma de que no me den fallo.
import java.util.Scanner;
public class miprueba2{
//constructor
public miprueba2(){
}
public static void main(String[] args){
System.out.println ("Por favor introduzca una cadena por teclado:");
String entradaTeclado = "";
Scanner entradaEscaner = new Scanner (System.in);
entradaTeclado = entradaEscaner.nextLine ();
System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");
int x=entradaTeclado.length();
boolean min=entradaTeclado.substring(0).startsWith("a");
boolean may=entradaTeclado.substring(0).startsWith("A");
if (x<5){
System.out.println("La cadena introducida tiene menos de 5 caracteres");
LetraInicial(min, may);
}else if(5<=x && x<=15){
System.out.println("La cadena introducida tiene entre 5 y 15 caracteres");
LetraInicial(min,may);
}else if(x>15){
System.out.println("La cadena introducida tiene más de 15 caracteres");
LetraInicial(min,may);
}
}
public static void LetraInicial(boolean minuscula,boolean mayuscula){
if (minuscula||mayuscula){
System.out.println("Además comienza por la letra A");
}else{
System.out.println("Y no comienza por la letra A");
}
}
}
Gracias!
-
Hola María
Tu código resuelve el ejercicio correctamente
Te voy a dar algunas recomendaciones:
- Los nombres de las clases deben comenzar con una letra mayúscula (por convención, no es obligatorio) y describir el fin o cometido de la clase
- Los nombres de los métodos deben comenzar con una letra minúscula (por convención, no es obligatorio) y describir el fin o cometido del método
- Si ves que un código se repite, plantéate si es posible evitar la repetición. En general la repetición de código debe evitarse (tampoco hay que llevar esto al último extremo, pero sí tenerlo en cuenta)
Con esto he hecho algunos cambios en tu código, fíjate en ellos pues estudiarlos te puede resultar útil y deberías tener todo esto en cuenta para los próximos ejercicios
import java.util.Scanner;
public class TestCadenasConA{
//constructor
public TestCadenasConA(){
}
public static void main(String[] args){
System.out.println ("Por favor introduzca una cadena por teclado:");
String entradaTeclado = "";
Scanner entradaEscaner = new Scanner (System.in);
entradaTeclado = entradaEscaner.nextLine ();
System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");
int x=entradaTeclado.length();
boolean empiezaConA=entradaTeclado.substring(0).startsWith("a")|| entradaTeclado.substring(0).startsWith("A");
if (x<5){
System.out.println("La cadena introducida tiene menos de 5 caracteres");
}else if(5<=x && x<=15){
System.out.println("La cadena introducida tiene entre 5 y 15 caracteres");
}else if(x>15){
System.out.println("La cadena introducida tiene más de 15 caracteres");
}
mostrarSiEmpiezaConA(empiezaConA);
}
public static void mostrarSiEmpiezaConA(boolean empiezaConA){
if (empiezaConA){
System.out.println("Además comienza por la letra A");
}else{
System.out.println("Y no comienza por la letra A");
}
}
}
También es útil ver otras respuestas en los foros, por ejemplo www.aprenderaprogramar.com/foros/index.php?topic=2873 y compararlas con tu respuesta para ver cómo lo han hecho otras personas
Saludos
-
Buenas noches,
Tengo el siguiente codigo para el ejercicio:
import java.util.Scanner;
public class Ejercicio57 {
public Ejercicio57(){}
public static void main (String[] args){
System.out.println ("Empezamos el programa");
System.out.println ("Por favor introduzca una cadena por teclado:");
Scanner entradaScanner = new Scanner (System.in);
String entradaTeclado = entradaScanner.nextLine();
System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");
String caracteres = "";
int nroCaracteres = entradaTeclado.length();
boolean empiezaConA = entradaTeclado.substring(0).startsWith("a") || entradaTeclado.substring(0).startsWith("A");
if (nroCaracteres < 5) { caracteres = "menos de 5 caracteres"; }
else if (nroCaracteres >= 5 && nroCaracteres <= 15) { caracteres = "entre 5 y 15 caracteres"; }
else { caracteres = "mas de 15 caracteres"; }
if (empiezaConA) {System.out.println("La cadena introducida tiene " + caracteres + " y empieza con la letra a");}
else {System.out.println("La cadena introducida tiene " + caracteres + " y no empieza con la letra a");}
}
}
-
Hola christagary, para incluir una solución a un ejercicio en los foros abre un nuevo hilo. Sólo responde sobre un hilo existente si vas a seguir una conversación abierta.
Tu ejercicio está correcto :D
También puede resolverse sin usar startsWith como se hace en este hilo: https://www.aprenderaprogramar.com/foros/index.php?topic=2873.0
Saludos