С вашим исходным кодом:
static float float1ID;
public void void1(){
if(boolean1){
float1 = 56F;
}else if(!boolean1){
float1 = 0F;
}
}
Он остается на нуле, потому что вы меняете float1
, , а не float1ID
, хотя вы сейчас отредактировали код, чтобы исправить это, поэтому я буду считать, что это опечатка. 1008 *
Единственная другая возможность состоит в том, что boolean1
всегда ложно. В противном случае значение изменится .
Дополнительно:
if (boolean1) {
float1ID = 56F;
} else if (!boolean1) {
float1ID = 0F;
}
кажется немного странным. Если у вас нет другого значения «логическое / двоичное» для меня, if (!boolean1)
совершенно не нужно. Вы можете просто использовать:
if (boolean1){
float1ID = 56F;
} else {
float1ID = 0F;
}
И, поскольку в комментарии вы заявляете, что уверены, что меняете логическое значение, вам необходимо отладить код. Временно измените его на:
System.out.println ("DEBUG A, boolean is " + boolean1 +
", float is " + float1ID);
if (boolean1){
System.out.println ("DEBUG B1");
float1ID = 56F;
} else {
System.out.println ("DEBUG B2");
float1ID = 0F;
}
System.out.println ("DEBUG C, boolean is " + boolean1 +
", float is " + float1ID);
и посмотри, что получится.