2016-11-30 7 views
1

В моем случае строка содержит, например, что-то вроде 2500.00. Также вы вводите строку в том же формате, например, 250.0, которая будет преобразована в 250,00. Эти строки будут преобразованы в float, и они будут добавлены или вычтены.Как проверить, содержит ли строка две одинаковые символы?

Теперь я хочу проверить, содержит ли строка две "." где-то, например, 2.50.00 или 250..00. В этом случае должен отображаться errormessage.

Поэтому мой вопрос заключается в том, как я могу проверить, содержит ли строка две "." символов в любом положении строки?

+0

вы можете проверить и то и другое "." не должны быть один за другим ». – PriyankaChauhan

+0

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

+0

Если вы попытаетесь преобразовать строку в число (при условии, что вы имеете дело с десятичной точкой здесь), это должно потерпеть неудачу, если вы введете либо« 2.50.00 », либо« 250..00 ». Ловушка эта ситуация и сообщить об ошибке. – ChrisF

ответ

1

Вы можете проверить, если точка появляется более чем один раз в строке с простым методом проверки, если первый индекс полукокса не равен индексу последнего вхождения полукокса:

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