2012-01-27 9 views
-1

그래, 이상한 문제가 있습니다. float 값을 변경하려고해도 값은 변경되지 않습니다. 이것은 내가 그것을 변경하려고하는 방법입니다. (변경 변수, 간단하게하는)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하기 위해 사용하는 코드는 어디에서 변경되지 않습니까? ... 등등. 아이디어는 문제를 보여주는 완벽한 최소한의 샘플을 제공하는 것이지만 코드에 대한이 "내 precioussss"태도가 우리의 도움을 방해합니다. 단지 우리에게 실제 코드를 보여 주면 더 빨리 될 것이라고 지적하면서 불평하지 않습니다. – paxdiablo

답변

6
원래의 코드와

:

당신이 float1을 변경하고 있기 때문에 그것은 제로 유지
static float float1ID; 
public void void1(){ 
    if(boolean1){ 
     float1 = 56F; 
    }else if(!boolean1){ 
     float1 = 0F; 
    } 
} 

, 하지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

관련 문제