Aqui les presento una solucion al ejercicio CU00657B del curso de Java desde cero tratando de ahorrar codigo por supuesto utilizando clases al maximo. Un Saludos a todos los programadores viejos y jovenes.
import java.util.Scanner;
public class Anatomia
{
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
// TODO code application logic hereº
/* Creacion de la instancia */
cadena textCadena;
textCadena = new cadena();
/* Leer entrada de teclado */
textCadena.setTeclado();
textCadena.leerTeclado();
switch (textCadena.establecerLongitud())
{
case 1:
if (textCadena.encontrarSubcadena("A",0,1)==true)
System.out.println("El texto ingresado \'" + textCadena.strCad + "\' tiene menos de 5 caracteres y comienza con la letra \'A\'");
else
System.out.println("El texto ingresado \'" + textCadena.strCad + "\' tiene menos de 5 caracteres y no comienza con la letra \'A\'");
break;
case 2:
if (textCadena.encontrarSubcadena("A",0,1)==true)
System.out.println("El texto ingresado \'" + textCadena.strCad + "\' tiene mas o igual a 5 caracteres pero menos de 15 y comienza con la letra \'A\'");
else
System.out.println("El texto ingresado \'" + textCadena.strCad + "\' tiene mas o igual a 5 caracteres pero menos de 15 y no comienza con la letra \'A\'");
break;
default:
if (textCadena.encontrarSubcadena("A",0,1)==true)
System.out.println("El texto ingresado \'" + textCadena.strCad + "\' tiene mas o igual a 15 caracteres y comienza con la letra \'A\'");
else
System.out.println("El texto ingresado \'" + textCadena.strCad + "\' tiene mas o igual a 15 caracteres y no comienza con la letra \'A\'");
break;
}
}
}
class cadena
{
String strCad;
Scanner sc;
int longitud;
void cadena()
{
}
void setTeclado()
{
sc = new Scanner(System.in);
}
void leerTeclado()
{
/*Ingresar cadena mediante el teclado*/
strCad = sc.nextLine();
longitud=strCad.length();
}
byte establecerLongitud()
{
if (longitud < 5)
return 1;
else
{
if (longitud < 15)
return 2;
else
return 3;
}
}
boolean encontrarSubcadena(String buscar,int inicio, int longitud)
{
if (strCad.substring(inicio,longitud).toUpperCase().equals(buscar))
return true;
return false;
}
}