JAVA - логические операции с символами - PullRequest
2 голосов
/ 30 марта 2011

Я создаю программу для чтения файлов. Мне нужно отфильтровать любой символ, который не является «0-9» или «.».

Любой символ, кроме этих, должен вызывать оператор IF.

Вот что я попробовал -

if  ( ( ((char)c < '0') || ((char)c > '9') ) || ((char)c != '.') )

или-

( ( ((char)c != '0' ) || ((char)c != '.' ) || ((char)c != '1' ) || ((char)c != '2' ) || ((char)c != '3' ) || ((char)c != '4' ) || ((char)c != '5' ) || ((char)c != '6' ) || ((char)c != '7' ) || ((char)c != '8' ) || ((char)c != '9' ) ))

ни один из которых не работал.

Ответы [ 2 ]

13 голосов
/ 30 марта 2011
if(Character.isDigit(c) || c == '.')
{

}
5 голосов
/ 30 марта 2011

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

 if ( ( ((char)c < '0') || ((char)c > '9') ) && ((char)c != '.') )

альтернативно, вы можете написать

 if (!( ((char)c >='0' && (char) c <='9') || (char) c == '.') )
...