Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Luis Fdo Carvajal en 17 de Marzo 2017, 21:22
-
Respuesta al ejercicio CU00657B del tutorial de programación Java con BlueJ
Ya me alegré ; creo que sé cómo publicar. Este es mi respuesta al ejercicio:
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, o si tiene 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 EntradaTeclado{
private String texto; //texto es una variable local
// Constructor de la clase
public EntradaTeclado () { texto = ""; }
public static void main (String [ ] args) {
System.out.println ("Por favor introduzca un texto por teclado:");
String texto = "";
Scanner texto = new Scanner (System.in); //Creación de un objeto Scanner
texto = texto.nextLine (); //Invocamos un método sobre un objeto Scanner
int longitud = texto.length();
System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");
} //Cierre del main
//Comprobación cúantos caracteres tiene la cadena
public String Texto(String texto){
if (texto. length() <5){ System.out.println ("El string tiene menos de cinco caracteres”); }
else {if (texto.length >=5 && texto. length <=15){ System.out.println ("El string tiene entre cinco y quince caracteres”);}
}else { if texto.length >=15){ System.out.println ("El string tiene más de quince caracteres”);}
}
public Comprueba Texto(String texto){
char inc = 'a';
String Texto = 'a';
if (String.valueOf(inc).equals(a)){
System.out.println ("el primer caracter es la letra “a” ”);}
else{}
}
-
Hola Luis Fdo Carvajal.
El código que presentaste no compila.
¿Lo probaste?
Te comento alguno de los errores:
Creas las variable texto como String, y en la línea siguiente intentas duplicarla pero con un tipo diferente, en este caso Scanner. Esto no se puede hacer, cada una de estas variables debe de tener un nombre distinto.
En otra línea intentas mostrar por consola el valor de la variable entradaTeclado, que no está ni siquiera creada.
Después tienes un bloque if con dos else, esto tampoco es correcto.
También creas un método con nombre "Comprueba Texto" y en el nombre de una variable, atributo, método, clase, etc. no pude haber espacios.
Te recomendaría seguir el curso desde el principio porque con el código que presentaste no queda muy claro que te hallan quedado claras las bases del lenguaje.
Saludos. ;D
-
Bueno, no lo había probado. Acá presento una nueva versión que si compila.
Gracias por tus comentarios
package cadena;
/**
*
* @author ITCO1724
*/
import java.util.Scanner;
public class Cadena{
public static void main(String arg[]){
String cadena="";
String mensajeLongitud = " tiene menos de 5 caracteres";
String mensajeLetraInicial = " y no comienza con a";
Scanner scaner = new Scanner(System.in);
System.out.print("Dame una cadena : ");
cadena=scaner.nextLine();
if(cadena.length()>5 && cadena.length()<=15){
mensajeLongitud=" tiene entre 5 y 15 caracteres";
}else{
if(cadena.length()>15){
mensajeLongitud=" tiene mas de 15 caracteres";}
}
if(cadena.substring(0,1).equalsIgnoreCase("a")){
mensajeLetraInicial =" y comienza con a";}
System.out.println("La cadena "+cadena+mensajeLongitud+" "+mensajeLetraInicial);
}
}
-
Buenas Luis Fdo.
Hay algún detalle que corregir, si introduzco una palabra con cinco caracteres, el mensaje que devuelve es que la cadena introducida tiene menos de 5 caracteres.
Por otra parte comentar que en el else del bloque if que usas introdujiste otro if, cuando lo mas normal es que hubieses resuelto de la siguiente forma:
if(condicion1) {
...
} else if(condicion2) {
...
} else {
...
}
Saludos. ;D