Bueno, tengo que hacer un programa en java que lo que haga es introducir 3 cadenas de caracteres menor que 20, buscar la mas grande, buscar en cada cadena cuantas "a" contiene y decir si alguna contiene la palabra "hola", bueno el codigo ya lo tengo hecho, pero solo me falla lo de buscar cuantas "a" hay y la palabra "hola". El problema esta a la hora de comprobar si hay "a" y el si hay "hola" ya que lo que hace es sumarlas tantas veces ponga que se repita en el for.
Aqui os dejo el codigo que tengo.
spoilerimport java.util.Scanner;
import java.io.*;
public class Ejercicio6 {
public static void main (String tutupa[]){
String [] texto = new String [3];
int i;
Scanner leer = new Scanner (new InputStreamReader (System.in));
for (i = 0; i < texto.length; i++){
System.out.println("Introduzca una cadena de caracteres no mayor de 20 caracteres:");
texto [i] = leer.nextLine();
if (texto [i].length() > 20) {
System.out.println("Introduzca otra cadena menor de 20:");
texto [i] = leer.nextLine();
}
}
System.out.println("La cadena que mas caracteres tiene es " + cadenaMayor(texto));
int contadorA = 0;
for (i = 0; i < texto.length ; i++){
if (texto[i].indexOf("a") != -1){
contadorA ++;
System.out.println("El texto contiene la palabra 'a' " + contadorA + " veces.");
}
}
for (i = 0; i < texto.length; i++){
if (texto[i].indexOf("hola") != 1 ){
System.out.println("La cadena " + (i + 1) + "si contiene la palabra 'hola'.");
}
}
}
private static String cadenaMayor (String [] pTexto){
int numeroMax = 0;
String maximo = null;
int w;
for (int i = 0; i < pTexto.length; i++){
w = pTexto[i].length();
if (w > numeroMax){
maximo = pTexto[i];
numeroMax = w;
}
}
return maximo;
}
}
Tambien decir que mi profesor de practicas de universidad no nos ha enseñado nada de programacion y ya nos hizo hacer programas sin saber nada, y busca que hagamos sobre todo los ejercicios creando constructores como el de leer con lo facil que seria usar un scanner :palm: :palm: