2015-06-09 39 views
-4

我有布爾數組,我想將它們更改爲雙數組。如果一個位置是真的,那麼double是1,否則設置爲0.我該怎麼做?如何將布爾數組更改爲雙數組

我的布爾數組:

 Boolean [] a = new Boolean [10]; 
     int i = 2; 
     for(int x = 1; x < 7; x=x+i){ 
      String name = "b" + String.valueOf(x); 
      a [x] = shared.getBoolean(name, false);} 

我的雙陣列:

double [] r = new double[10]; 

回答

1

您可以使用for循環再次填充雙數組:

Boolean [] a = new Boolean [10]; 
    double [] r = new double[10]; 
    for(int i=0; i<a.length; i++) { 
     if(a[i] != null && a[i]) 
      r[i] = 1d; 
     else 
      r[i] = 0d; 
    } 

正如你所看到的,我正在檢查boolean a [i]!= null是否也是。 這是因爲您正在使用數據類型布爾值的Wrapper-Class布爾值(大寫B)。在這種情況下,[i]可能爲空!所以你應該檢查這個地方以避免異常。

1

我不知道你想什麼,以實現與您現有的代碼,但這裏有一個例子:

Boolean [] a = new Boolean[10]; 
//fill the array a 
double [] r = new double[10]; 

for(int x = 0; x < 10; x++){ 
    if(a[x]){ 
     r[x] = 1.0; 
    } 
    else{ 
     r[x] = 0.0; 
    } 
} 
相關問題