trim.()- Methode funktioniert nicht(java)
Ich versuche also zum zählen der Zeichen in einer Zeichenfolge ohne Leerzeichen. Aber irgendwie ist mein trim () - Methode nicht schneiden die Räume:
class Test {
HashMap<Character, Integer> testMap = new HashMap<>();
public void encode(String text) {
String code = text.trim();
for (int i = 0; i < code.length(); i++) {
Character key = code.charAt(i);
if (testMap.containsKey(key)) {
testMap.put(key, testMap.get(key) + 1);
} else {
testMap.put(key, 1);
}
}
System.out.println(testMap);
System.out.println(code);
}
Main-Methode:
public class MyMain {
public static void main(String[] args) {
Test test = new Test();
test.encode("Tessstttt faill");
}
}
Also die Ausgabe ist:
{ =1, a=1, s=3, T=1, t=4, e=1, f=1, i=1, l=2}
Tessstttt faill
Wo ist mein Fehler. Vielen Dank Voraus!!
(Ich bin nicht so erfahren aber, so Leid es mir tut, im Falle eines offensichtlichen Irrtums)
- .trim (), nur trimmt Leerzeichen, keine Leerzeichen innerhalb der Zeichenfolge.
- So ist es nicht .trim() nicht funktioniert; es funktioniert wie vorgesehen. Es ist, dass Sie missverstanden, was er Tat... trim() ist nicht wie
tr
Du musst angemeldet sein, um einen Kommentar abzugeben.
Trim wird nicht entfernen Sie alle whitespace-Zeichen, werden nur die führenden und Hinterkante. Entfernen Sie alle whitespace-Zeichen, die Sie wollen, so etwas wie dieses:
[ ]
so.... würden Sie fehlen, die auf tabs, etc.Du missverstanden trim() es
Verwenden
replace()
stattdessen entfernen Sie alle LeerzeichenDen
trim()
Methode entfernt nur Leerzeichen am Anfang und Ende des Strings. Der Raum in der test-string ist irgendwo in der Mitte, obwohl.Vielleicht eine bessere option als trimmen wäre eine individuelle Prüfung für whitespace-Zeichen. Die
Character
- Klasse bietet eine statischeisWhitespace(char)
Methode für diesen Zweck.Trim macht das nicht. Trim würde so etwas tun
Verwenden Sie stattdessen .ersetzen
Eigentlich trim () - Methode in java nur unterlässt, was eine nachfolgende Leerzeichen nicht zwischen string.
Als http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim().
So, hier auch dieses nicht auslassen Raum zwischen Tessstttt und scheitern.
Können Sie verwenden
replace()
entfernen Sie diesen Raum, wiecode = code.replace(" ", "");