如下:
1. 直接初始化
double[][] embossFilter = {{-1/9, 0, 1/9}, {-1/9, 1/9, 1/9}, {-1/9, 0, 1/9}};
2. 賦值初始化
double l = 1/9;
double[][] linearFilter = {{l, l, l}, {l, l, l}, {l, l, l}};
以上兩種初始化結果均得到0.0,正確方法如下:
double l = (double)1/9, b1 = (double)1/13, b2 = (double)5/13;
double[][] linearFilter = {{l, l, l}, {l, l, l}, {l, l, l}};
注意:兩個整數無論如何運算,在賦值給double時一定要強制類型轉換!否則兩個數的計算結果首先保存為int型,然后才會被轉化成double!這樣的double只是int的另一種存儲類型而已!
