2012-01-27 3 views
-1

これは奇妙な問題です。フロートの値を変更しようとすると、値が変更されません。これは私がそれを変更しようとしている方法です:JavaでFloatの値を変更できない

static float float1ID; 
public void void1() { 
    if(boolean1) { 
     float1ID = 56F; 
    } else if(!boolean1) { 
     float1ID = 0F; 
    } 
} 

全コード(それをシンプルに保つように変更変数、。):

static boolean diamond = false; 
static boolean iron = false; 
static boolean fuel = false; 
static boolean gold = false; 
static boolean redstone = false; 
static boolean circuit = false; 
static boolean danger = false; 
static boolean valuable = false; 
static boolean nether = false; 
static boolean farm = false; 
static boolean home = false; 
static boolean dungeon = false; 

static float diamondID; 



public void BlockList(){ 
    if(diamond){ 
     diamondID = 56F; 
    }else{ 
     diamondID = 0F; 
    } 



} 

それはちょうど0のまま、あなたが私を助けてもらえますか?おかげさまで 元のコードで

+0

boolean1の値は? void1()をどう呼びましたか?我々はより多くを必要とします。 – rfeak

+0

また、 'else if(!boolean1)'を実行する必要はありません。 'else'だけがうまく動作します。 – Divya

+0

あなたは私たちの残りの部分に「フルコード」という別の定義を持っているようです:-)(1) 'Var'とは何ですか? (2)ダイヤモンドはどこで変わったのですか? (3)diamonID​​をverfiyするために使用するコードはどこにありますか? ... 等々。このアイデアは、問題を示す完全な最小限のサンプルを提供することですが、コードに関するこの「私の貴重な」姿勢が、私たちの能力を傷つけています。私たちに実際のコードを示しただけであれば、より速いと指摘しています。 – paxdiablo

答えて

6

static float float1ID; 
public void void1(){ 
    if(boolean1){ 
     float1 = 56F; 
    }else if(!boolean1){ 
     float1 = 0F; 
    } 
} 

あなたがfloat1を変更しているので、それはゼロのまま、ないfloat1ID、あなたは今、それを修正するためのコードを編集したので、私はそれを仮定しますが、タイプミスでした。


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); 

+0

+1すべての夜に与えられた最も簡単な代表点... – Paul

+0

いいえ、私はブール値を変更しています。私はそれを確認した。 – user1172622

+0

変数の命名が問題ではないことを確認し、boolean1の値を変更していることがわかっている場合は、コードをさらに投稿することができます。たとえば、boolean1を宣言した方法と場所を表示できますか? – XIVSolutions

関連する問題