2016-01-24 4 views
4

Je suis nouveau à la programmationbase instruction if, opérateur <= non défini

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

Lancers l'erreur ci-dessous

L'opérateur <= est définie pour le type d'argument (s) boolean, int
S'il vous plaît aide-moi à le réparer.

+0

double possible de http://stackoverflow.com/questions/19827999/what-is-the-shortest-and -simplest-way-to-search-if-a-value-falls-within-a-range – Raedwald

Répondre

5

Vous ne pouvez pas composé la déclaration comme ça. Vous devez && il.

Par exemple,

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

La raison pour laquelle vous obtenez l'erreur est la première condition de 6 <= N résout à un boolean et que vous tentez ensuite de vérifier si un boolean est <= à un int. Cela ne calcule pas.

+0

Merci beaucoup :) Que Dieu vous bénisse – sanashariff

+0

@sanashariff, de rien. Vous pouvez montrer vos bénédictions en donnant un vote ou en l'acceptant comme la seule vraie réponse :). – ChiefTwoPencils

2

Vous ne pouvez pas comparer 2 conditions dans un seul chèque, vous devez le partager à deux chèques

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

Vous devez séparer les conditions avec les opérateurs logiques (& & dans ce cas):

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