2015-12-07 6 views
-3

при условии, что x = 1, y = -1, z = 1;К чему, если дано еще - если принадлежит?

if (x > 0) 
     if (y > 0) 
      System.out.println("x > 0 and y > 0"); 
    else if (y< 0) 
      System.out.println("x < 0 and z > 0"); 

Этот код печатает x < 0 и z> 0; Как это возможно? К чему, если дается еще - если принадлежит?

+0

Вы получаете правильный выход !!! не выглядят как код python для отступов для определения уровня. – bansi

+1

Указание языка может быть хорошей идеей. Я подозреваю, что язык, который вы используете, - это Java, где пробелы несущественны ... но трудно сказать. –

+0

Он принадлежит ко второму «if (y> 0)», если вы хотите, чтобы он принадлежал первому, тогда вам нужно закрыть второе, если. Не зная языка, хотя трудно сказать –

ответ

0

Ваши отступы - это то, что отбрасывает вас, так как вы не используете скобки для этих однолинейных операторов. Если добавить скобки назад, вы ясно увидите, как формируется, если заявление:

if (x > 0){ 
    if (y > 0){ 
     System.out.println("x > 0 and y > 0"); 
    }else if (y< 0){ 
     System.out.println("x < 0 and z > 0"); 
    } 
} 
0

Вам не обязательно нужны скобки для вашего кода для запуска правильно, но это лучше, стиль и конвенции включить их , Этот код вашего кода легче читать и понимать.

@d_ominic уже предоставил чистый код!

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