Ich habe zwei Strings:Wie bekomme ich den Index der Unterschiede in String von Index zu Index?
String s1 = "D3516025204 StackOverflow is good.";
String s2 = "D3516025204 StackOverflow Nice to see you.";
Zuerst sowohl für Zeichen der Zeichenfolge vergleichen und die Indizes oder Spalte keine drucken. wenn die Charaktere verschieden sind. Ich muss die Leerzeichen in die Zeichenfolge einschließen.
Wie in oben string:
Differenz der Indizes von s1 und s2: 34 bis 48
Ich versuchte unter:
char[] first = text1.toLowerCase().toCharArray();
char[] second = text2.toLowerCase().toCharArray();
int minimum = Math.min(first.length, second.length);
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < minimum; i++) {
if (first[i] != second[i]) {
do{
//System.out.print(first[i]+" "+second[i]);
System.out.println(text1.offsetByCodePoints(first[i],text1.indexOf(second[i])));
}while(first[i] == second[i]);
}
}
Zuerst sehe ich eine Endlosschleife mit Ihrem do {} while. Du erhöhst nie i in dieser Schleife. Zweitens, warum hast du ein wenn nichts getan? Schließlich, was ist genau die Bedingung für den Unterschied, ist es immer s1 im Vergleich zu s2? – AxelH
Ich muss beide Zeichenfolgen vergleichen, d. H. S1 im Vergleich zu s2. Wenn es einen Unterschied in der Zeichenkette gibt, dann hole die Indizes, d.h. von Index zu Index. – rockersdeal