Метод, вызываемый в тройном операторе, приращает переменную и возвращает логическое значение. Когда функция возвращает false, значение возвращается. Я ожидал, что переменная будет 1, но вместо этого я получаю 0. Почему?
public class Main {
public int a=0;//variable whose value is to be increased in function
boolean function(){
a++;
return false;
}
public static void main(String argv[]){
Main m=new Main();
m.a+=(m.function()?1:0);
System.out.println(m.a);//expected output to be 1 but got a 0 !!!!!
}
}