package com.cp.javapractice;
import java.util.ArrayList;
import java.util.Scanner;
public class Cp {
public static void main(String args[]) {
ArrayList al = new ArrayList();
Scanner s = new Scanner(System.in);
String str = null;
str = new String();
System.out.println("Enter the string which you want to remove the duplicates");
str = s.nextLine();
String arr[] = str.split(" ");
for (int k = 0; k < arr.length; k++) {
al.add(arr[k]);
}
try {
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i].equalsIgnoreCase(arr[j])) {
al.remove(j);
}
}
}
System.out.println(al);
}
catch (Exception e) {
System.out.println(e);
}
}
}
Ich werde die Wiederholung Worte insbesondere gegebene Zeichenkette vom Benutzer ersetzen. Also, ich spalte die angegebene Zeichenfolge mit Leerzeichen mit Split-Methode und in Array sowie in Arraylist.IndexOutOfBoundsException while-Schleife führt Java
Nach Iterate durch Array und überprüft die Bedingung ist gleich dann habe ich das in ArrayList entfernt. Aber beim Entfernen zeigt Index Out-of-Exception.
Dieser Code funktioniert für eine kleine Array-Größe, zeigt aber eine Ausnahme und gibt dabei eine große Anzahl an Array-Größen an. Ich habe Probleme, während ich die Zeichenfolge mit Array-Größe von 13 Wörtern gebe.
Hier ist mein voller Code.
Dies ist eine gute Zeit zu lernen, wie man einen Debugger verwenden! – jdigital
Sie haben die wichtigen Informationen ausgelassen: Die Ausnahme-Stack-Ablaufverfolgung (vollständig) und eine Angabe, welche Anweisung in Ihrem Code die Ausnahme auslöst. Bitte bearbeiten Sie Ihre Frage, um die fehlenden Informationen einzubinden. –
Mögliches Duplikat von [IndexOutOfBoundsException] (http://stackoverflow.com/questions/4269153/indexoutofboundexception) – mx0