2012-11-29 63 views
0

較低我有一個按鈕,如下代碼,讓我的組:如果else語句,等於或大於值

char group = 0; 

if (Integer.parseInt(lblTbt.getText()) <= 30) { 
    group = 'A'; 
} else if (Integer.parseInt(lblTbt.getText()) <=60) { 
    group = 'B'; 

lblGroup.setText(String.valueOf(group)); 

但在另一個按鈕,我希望得到一個十進制值。

我嘗試使用相同的代碼,但有錯誤。

double rf = 0; 

if (Integer.parseInt(lblSurface.getText()) <= 29) { 
    rf = '1.1'; 
} else if (Integer.parseInt(lblSurface.getText()) <=59) { 
    rf = '1.3'; 

lblRF.setText(String.valueOf(RF)); 

我想要rf(十進制值)和setText到一個標籤。

任何幫助會感激

+1

有什麼問題? –

+0

檢查你的數據類型!並注意,變量名稱區分大小寫。 – jlordo

回答

2

你需要改變:rf = '1.1';到:rf = 1.1;

而且,很可能你將需要:lblRF.setText(String.valueOf(rf));,而不是使用RF

+0

他正在'String.valueOf'中使用'RF'。哈哈,你錯過了;) –

+0

@RohitJain差不多:) – dan

0

哦善良。好的,首先,你已經聲明rf是一個雙精度型,但是你正在給它分配'1.1'。嘗試製作一個字符串。

0

在您的代碼中,您聲明瞭一個雙變量併爲其分配一個字符。這是一個問題。刪除這些引號和問題解決。另外,更改String.valueOf(RF)String.valueOf(rf)

double rf = 0; 

if (Integer.parseInt(lblSurface.getText()) <= 29) { 
    rf = 1.1; 
} else if (Integer.parseInt(lblSurface.getText()) <=59) { 
    rf = 1.3; 

lblRF.setText(String.valueOf(rf)); 
0

很抱歉的麻煩,我才意識到我使用的代碼在錯誤的按鈕。

代碼現在是工作的罰款:

double rf = 0; 

    if (Integer.parseInt(lblSurface.getText()) <= 29) { 
     rf = 1.4; 
    } else if (Integer.parseInt(lblSurface.getText()) <=59) { 
     rf = 1.2; 


} 
    lblRF.setText(String.valueOf(rf));