Hola.
Las variables globales las declaré tipo String porque la finalidad del programa es mostrar el resultado en forma de texto
y porque el programa se basa en imprimir todos los resultados en un texto, también declaré los métodos como private y void.
import java.util.Scanner;
public class EntradaString
{
private String texto;
private String textoLongitud;
private String esA;
public EntradaString(){
texto="";
textoLongitud="";
esA="";
}
private void escribaCadena(){
Scanner teclado=new Scanner (System.in);
System.out.println("Escriba algo.");
texto=teclado.nextLine();
}
private void contarCaracteres(){
if (texto.length()<5){textoLongitud="menos de 5";}
else if (texto.length()>=5&&texto.length()<=15) {textoLongitud="entre 5 y 15";}
else {textoLongitud="mas de 15";}
}
private void comienzoA(){
String comprueba=texto.substring(0,1);
if (comprueba.equalsIgnoreCase("a")){esA="comienza con a.";}
else {esA="no comienza con a.";}
}
public static void main (String[]args){
EntradaString textoEntrada=new EntradaString();
textoEntrada.escribaCadena();
textoEntrada.contarCaracteres();
textoEntrada.comienzoA();
System.out.println("La cadena introducida tiene "+textoEntrada.textoLongitud+" y "+textoEntrada.esA);
}
}
Luego quise usar el charAt para ver si comienza con "a" y que el programa preguntara si queria contar todos los caracteres o solo las letras.
import java.util.Scanner;
public class ProbarEntradaString
{
private String texto;
private String cadenaLongitud;
private String esA;
public ProbarEntradaString(){
texto="";
cadenaLongitud="";
esA="";
}
private void ingresarTexto(){
Scanner teclado=new Scanner(System.in);
System.out.println("Escriba algo.");
texto=teclado.nextLine();
}
private void contadorCaracteres(){
if (texto.length()<5){cadenaLongitud="menos de 5 caracteres";}
else if(texto.length()>=5&&texto.length()<=15){cadenaLongitud="entre 5 y 15 caracteres";}
else {cadenaLongitud="mas de 15 caracteres";}
}
private void contadorLetras(){
int letras=0;
for (int x=0;x<texto.length();x++) {
if(Character.isLetter(texto.charAt(x))) {letras++;}
}
if (letras<5){cadenaLongitud="menos de 5 letras.";}
else if (letras>=5&&letras<=15){cadenaLongitud="entre 5 y 15 letras.";}
else {cadenaLongitud="mas de 15 letras.";}
}
private void comienzoA(){
if(Character.toLowerCase(texto.charAt(0))=='a' ) {esA="comienza con a.";}
else {esA="no comienza con a.";}
}
public void elegirContador(){
Scanner teclado=new Scanner(System.in);
System.out.println("Contar todos los caracteres(escriba car) o solo letras(escriba let)?");
String opcion=teclado.nextLine();
if (opcion.equalsIgnoreCase("car")){contadorCaracteres();}
else if (opcion.equalsIgnoreCase("let")){contadorLetras();}
else {System.out.println("No eligió una opción correcta.");elegirContador();}
}
public static void main (String[]args){
ProbarEntradaString probar=new ProbarEntradaString();
probar.ingresarTexto();
probar.elegirContador();
probar.comienzoA();
System.out.println("El texto introducido tiene "+probar.cadenaLongitud+" y "+probar.esA);
}
}