2014-08-29 3 views
2

Я знаю, что при использовании содержит вы можете проверить, содержит ли строка какие-то слова или что-то еще. Но есть ли метод? Например, я хочу, чтобы он проверил строку, чтобы увидеть, содержит ли она слово «как», но я также хочу, чтобы он проверял, не содержит ли это слово «нет». Это возможно?The! Contains() Метод? Это возможно?

if (text.contains("like")&&text.!contains("not")){ 
System.out.println("Is that a trick question? Yes."); 
x = 1;} 
+5

Несомненно, вы просто хотите '! Text.contains (« not »)'? –

+0

А, да, это так. Я просто не был уверен, где разместить! отметка. Благодарю. – nmelssx

ответ

6

Ваш синтаксис близок. Это как это,

String text = "like yes"; 
if (text.contains("like") && !text.contains("not")) { 
    System.out.println("like yes"); 
} 
text = "like not"; 
if (text.contains("like") && !text.contains("not")) { 
    System.out.println("like not"); 
} 

Выхода

like yes 
+1

Спасибо. Я не был уверен, где разместить! отметка. – nmelssx

1

! является унарным оператором, так же, как одноместный -, который используется для вычисления отрицательных чисел. Чтобы использовать его, вы пишете выражение, значение которого равно boolean (или Boolean) и положите перед ним !; вам может потребоваться поставить выражение в круглые скобки.

text.contains("not") - выражение. В частности, это вызов метода, который возвращает boolean. И вызов метода, возвращающий значение, является выражением. Итак, чтобы получить обратное выражение, поставьте ! перед ним.

Иногда вы должны использовать круглые скобки, чтобы получить группировку права, такие как

!(text.length() == 0 || text.contains("abc")) 

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

!(text.contains("not")) 

но это необязательно.

Но важно помнить, что ! является оператором, и вы используете его, как и другие операторы. Вы не должны путаться о том, где разместить его, если вы это помните.

Смежные вопросы