Я сделал похожую программу, которая показывает вам слова, которые были повторены в ArrayList (также он показывает содержимое массива и большую строку)
Да, кстати, переменные и другие вещи, такие как комментарии, написаны на испанском, потому что я говорю по-испански: / но, если вы видите код, вы видите, что я решил проблему с 2-мя ошибками для!
public void mostrarDiecisiete() {
ArrayList<String> array = new ArrayList<String>();
ArrayList<String> array2 = new ArrayList<String>();
Scanner sc = new Scanner(System.in);
String sss = "";
System.out.println("");
while (!sss.equalsIgnoreCase("fin")) {
System.out.print("Ingrese un string: ");
sss = sc.nextLine();
if (!sss.equalsIgnoreCase("fin")) {
array.add(sss);
}
}
int mayor = 0;
Iterator it = array.iterator();
String s = "";
boolean repetir = true;
int j = 0;
for (int i = 0; i < array.size(); i++) {
System.out.println("");
System.out.print("Posicion: " + i + " del array: " + array.get(i) + " " + "\n");
if (array.get(i).length() > mayor) {
mayor = array.get(i).length();
s = array.get(i);
}
}
for (int i = 0; i < array.size(); i++) {
System.out.println("vuelta nro: " + i + " del primer for");
if(j==array.size()){
j=0;//inicializa de nuevo j en cero si j alcanzo el tamaño del array
j=i;//inicializa j en el numero de vuelta del primer for, para luego sumarle uno mas asi siempre compara con el siguiente
}
for (j++; j < array.size(); j++) {//empieza a comparar con uno mas adelante siempre
if (array.get(i).equalsIgnoreCase(array.get(j))) {//si el array de la posicion i se repite entre la 1 y la ultima de la pos j
System.out.println("el string " + array.get(i) + " se repite en la posicion " + j);
array2.add(array.get(i)); // se agrega a array2
} else {
System.out.println("String: " + array.get(i) + " no se repite con la posicion " + j);
}
}
}
System.out.println("");
System.out.print(
"el array es: " + array);
System.out.println(
"");
System.out.println(
"El array mas largo es: " + s + " y tiene " + mayor + " caracteres");
System.out.println(
"");
System.out.println(
"Los Strings repetidos son" + array2);
}
}
Это мой вывод:
Ingrese un string: vaca
Ingrese un string: perro
Ingrese un string: dinosaurio
Ingrese un string: gato
Ingrese un string: cebra
Ingrese un string: DiNoSauRiO
Ingrese un string: VACA
Ingrese un string: hamster
Ingrese un string: gato
Ingrese un string: canario
Ingrese un string: elefante
Ingrese un string: tortuga
Ingrese un string: fin
Posicion: 0 del array: vaca
Posicion: 1 del array: perro
Posicion: 2 del array: dinosaurio
Posicion: 3 del array: gato
Posicion: 4 del array: cebra
Posicion: 5 del array: DiNoSauRiO
Posicion: 6 del array: VACA
Posicion: 7 del array: hamster
Posicion: 8 del array: gato
Posicion: 9 del array: canario
Posicion: 10 del array: elefante
Posicion: 11 del array: tortuga
vuelta nro: 0 del primer for
String: vaca no se repite con la posicion 1
String: vaca no se repite con la posicion 2
String: vaca no se repite con la posicion 3
String: vaca no se repite con la posicion 4
String: vaca no se repite con la posicion 5
el string vaca se repite en la posicion 6
String: vaca no se repite con la posicion 7
String: vaca no se repite con la posicion 8
String: vaca no se repite con la posicion 9
String: vaca no se repite con la posicion 10
String: vaca no se repite con la posicion 11
vuelta nro: 1 del primer for
String: perro no se repite con la posicion 2
String: perro no se repite con la posicion 3
String: perro no se repite con la posicion 4
String: perro no se repite con la posicion 5
String: perro no se repite con la posicion 6
String: perro no se repite con la posicion 7
String: perro no se repite con la posicion 8
String: perro no se repite con la posicion 9
String: perro no se repite con la posicion 10
String: perro no se repite con la posicion 11
vuelta nro: 2 del primer for
String: dinosaurio no se repite con la posicion 3
String: dinosaurio no se repite con la posicion 4
el string dinosaurio se repite en la posicion 5
String: dinosaurio no se repite con la posicion 6
String: dinosaurio no se repite con la posicion 7
String: dinosaurio no se repite con la posicion 8
String: dinosaurio no se repite con la posicion 9
String: dinosaurio no se repite con la posicion 10
String: dinosaurio no se repite con la posicion 11
vuelta nro: 3 del primer for
String: gato no se repite con la posicion 4
String: gato no se repite con la posicion 5
String: gato no se repite con la posicion 6
String: gato no se repite con la posicion 7
el string gato se repite en la posicion 8
String: gato no se repite con la posicion 9
String: gato no se repite con la posicion 10
String: gato no se repite con la posicion 11
vuelta nro: 4 del primer for
String: cebra no se repite con la posicion 5
String: cebra no se repite con la posicion 6
String: cebra no se repite con la posicion 7
String: cebra no se repite con la posicion 8
String: cebra no se repite con la posicion 9
String: cebra no se repite con la posicion 10
String: cebra no se repite con la posicion 11
vuelta nro: 5 del primer for
String: DiNoSauRiO no se repite con la posicion 6
String: DiNoSauRiO no se repite con la posicion 7
String: DiNoSauRiO no se repite con la posicion 8
String: DiNoSauRiO no se repite con la posicion 9
String: DiNoSauRiO no se repite con la posicion 10
String: DiNoSauRiO no se repite con la posicion 11
vuelta nro: 6 del primer for
String: VACA no se repite con la posicion 7
String: VACA no se repite con la posicion 8
String: VACA no se repite con la posicion 9
String: VACA no se repite con la posicion 10
String: VACA no se repite con la posicion 11
vuelta nro: 7 del primer for
String: hamster no se repite con la posicion 8
String: hamster no se repite con la posicion 9
String: hamster no se repite con la posicion 10
String: hamster no se repite con la posicion 11
vuelta nro: 8 del primer for
String: gato no se repite con la posicion 9
String: gato no se repite con la posicion 10
String: gato no se repite con la posicion 11
vuelta nro: 9 del primer for
String: canario no se repite con la posicion 10
String: canario no se repite con la posicion 11
vuelta nro: 10 del primer for
String: elefante no se repite con la posicion 11
vuelta nro: 11 del primer for
el array es: [vaca, perro, dinosaurio, gato, cebra, DiNoSauRiO, VACA, hamster, gato, canario, elefante, tortuga]
El array mas largo es: dinosaurio y tiene 10 caracteres
Los Strings repetidos son[vaca, dinosaurio, gato]
BUILD SUCCESSFUL (total time: 2 minutes 48 seconds)