2013-02-10 348 views
1
String[] msgoptions; 
String[] finalmsgs3 = finalmsgs2[3].split("RR"); 
for(i = 1; i < finalmsgs3.length; i++) 
{ 
    msgoptions[i] = finalmsgs3[i]; 
    Log.e(TAG, "---------------" + msgoptions[i]); 
} 

如果你能解決我的代碼問題,我需要你的幫助。其實我試圖將數組變量的值分配給另一個數組變量。但我不能那樣做,因爲有一些錯誤。那麼,你能幫我嗎?如何將一個數組變量的值賦給另一個數組變量

+1

你什麼錯誤的東西更「標準」? – BobTheBuilder 2013-02-10 11:05:21

回答

1

重寫你的代碼:

String[] finalmsgs3 = finalmsgs2[3].split("RR");  // switch first two lines 
String[] msgoptions = new String[finalmsgs3.length]; // initilize the other array 
for(i = 0; i < finalmsgs3.length; i++)    // Array index starts at 0 
{ 
    msgoptions[i] = finalmsgs3[i]; 
    Log.e(TAG, "---------------" + msgoptions[i]); 
} 

更好的解決方案是:

String[] finalmsgs3 = finalmsgs2[3].split("RR"); 
String[] msgoptions = Arrays.copyOf(finalmsgs3, finalmsgs3.length); 
0

試一下:

String[] msgoptions = = new String[SIZE];; 
String[] finalmsgs3 = finalmsgs2[3].split("RR"); 
int j=0; 
for(i = 0; i < finalmsgs3.length; i++) 
{ 
    msgoptions[j] = finalmsgs3[i]; 
    j++; 
    Log.e(TAG, "---------------" + msgoptions[i]); 
} 
3

你需要在使用前數組msgoptions初始化,例如:

String[] msgoptions = new String[SIZE]; 
0

首先,在Java上,您需要初始化陣列。另請注意,它們基於0個索引。

所以,你應該更改您的代碼是這樣的:

String[] finalmsgs3 = finalmsgs2[3].split("RR"); 
String[] msgoptions = new String[finalmsgs3.length]; 
for(int i = 0; i < finalmsgs3.length; i++) 
{ 
    msgoptions[i] = finalmsgs3[i]; 
    Log.e(TAG, "---------------" + msgoptions[i]); 
} 

但要做到陣列複製你能避免你的代碼使用像java.util.Arrays.copyOf(T[] original, int newLength)

相關問題