2012-09-03 139 views
0

我有這樣的語法:運營商+ =雙重Java中

Double rowIDR += (((Double)view.getTableRaw().getModel().getValueAt(d,4))); 

但運營商+=不能工作,所以有什麼用Double匹配,但有像+=類似的功能操作?

+0

你究竟想要完成什麼?你是否想要聲明和分配一些東西?還是你想添加一些東西到'rowIDR'? – Mysticial

+0

我想調用coloumn rowIDR中的表的列表.. – Ayharu

+0

您總是可以使用簡單的賦值rowIDR = rowIDR + *一些大的語句* –

回答

4

當你寫如下:

Double rowIDR += (((Double)view.getTableRaw().getModel().getValueAt(d,4))); 

要添加到rowIDR沒有初始化它

你可以試試這個:

Double rowIDR = 0d; 
rowIDR+= (((Double)view.getTableRaw().getModel().getValueAt(d,4))); 
+0

該聲明中'0d'的功能是什麼? – Ayharu

+0

這只是一種表示[浮點文字](http://docs.oracle.com/javase/specs/jls/se5.0/html/lexical.html#3.10.2) – SiB

+0

Double rowIDR = 0d; rowIDR + = view.getTableRaw()。getModel()。getValueAt(d,4); 當我使用這個,其造成的錯誤「不能投」.. – Ayharu

-2

其實這應該工作。也許你做錯了,就像右邊的值是「0」。 ;)

編輯:沒有看到啓動。這也是可能的。

0
public static void main(String[] args){ 
    double a = 1.0; 
    Double b = new Double(1.1), c; 
    b += 1.1; 
    c += 1.1; 
    System.out.println(a); 
    System.out.println(b); 
    System.out.println(c); 
} 

b是好的,c是錯的。 因爲c未初始化

+1

-1,你應該添加更多的解釋,而不是隻是「這是錯誤的」 – CharlesB

+0

因爲c未初始化。 –

0

每個局部變量必須begore use.So當我們寫

Int a+=3; 

這相等於─分配:

Int a=a+3; 

所以,你正在使用的局部變量沒有初始化它。所以如果你這樣寫的話

Int a=0; 
a+=3; 

它會工作。

+1

一些事情...... **第一**'Int'不是關鍵字。 ** Second **'a + = 3;'相當於'a =(int)(a + 3);' – SiB