2016-11-30 2 views
1

In meinem Fall enthält eine Zeichenfolge zum Beispiel so etwas wie 2500.00. Außerdem geben Sie eine Zeichenfolge im selben Format ein, z. B. 250.0, die in 250,00 konvertiert wird. Diese Zeichenfolgen werden in Float konvertiert und sie werden addiert oder subtrahiert.Wie überprüft man, ob eine Zeichenfolge zwei gleiche Zeichen enthält?

Jetzt möchte ich überprüfen, ob die Zeichenfolge zwei "." irgendwo zum Beispiel 2.50.00 oder 250.00. In diesem Fall sollte eine Fehlermeldung angezeigt werden.

Daher ist meine Frage, wie kann ich überprüfen, ob eine Zeichenfolge zwei enthält "." Zeichen an jeder Stelle der Zeichenfolge?

+0

können Sie überprüfen, beide "." darf nicht einer nach dem anderen sein. " – PriyankaChauhan

+0

'boolean containsTwoDots (String str) { Rückgabe str.indexOf ('.')! = Str.lastIndexOf ('.'); } ' –

+0

Wenn Sie versuchen, die Zeichenfolge in eine Zahl zu konvertieren (unter der Annahme, dass Sie hier mit einem Dezimalpunkt zu tun haben), sollte das fehlschlagen, wenn Sie entweder" 2.50.00 "oder" 250.00 "eingeben. Fangen Sie diese Situation ein und melden Sie den Fehler. – ChrisF

Antwort

1

Sie überprüfen können, ob ein Punkt mit einem einfachen Verfahren überprüft in einem String mehr als einmal erscheint, wenn der erste Index der Kohle auf den Index des letzten char Auftretens nicht gleich:

boolean containsTwoDots(String str) { 
    return str.indexOf('.') != str.lastIndexOf('.'); 
} 
Verwandte Themen