2016-01-24 9 views
4

Я новичок в программированиебазисных, если оператор, оператор <= не определен

if((N%2==0) && (6<=N<=20)) 

Выдает ошибку ниже

Оператор <= не определен для типа аргумента (ов) boolean, int
Пожалуйста Помогите мне исправить это.

+0

Возможный дубликат http://stackoverflow.com/questions/19827999/what-is-the-shortest-and -simplest-way-to-search-if-a-value-falls-in-a-range – Raedwald

ответ

5

Вы не можете усложняют заявление, как это. Вам нужно &&.

Например,

if ((N % 2 == 0) && (6 <= N && N <= 20)) {...} 

Причина вы получаете ошибки первое условие 6 <= N решает к boolean и затем вы пытаетесь проверить, если boolean является <= к int. Это не вычисляется.

+0

Большое вам спасибо :) Благословит вас Бог – sanashariff

+0

@sanashariff, добро пожаловать. Вы можете показать свои благословения, подав голос или принять его в качестве единственного истинного ответа :). – ChiefTwoPencils

2

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

if (N % 2 == 0 && N >= 6 && N <= 20) 
0

Вы должны отделить условия с логическими операторами (& & в данном случае):

if (N % 2 == 0 && N>=6 && N <= 20) 
Смежные вопросы