2013-12-13 23 views
-1

編寫一個名爲joiner的靜態方法,它接受兩個字符串a1和a2的數組作爲參數,並返回一個新的數組a3,使得每個索引i處的a3的每個元素都存儲一個由存儲在a1 [i]和a2 [i]與單詞連接在一起,連接字符串前面的工作具有更大的長度(更多字符)。如果存在平局,則從a1中獲取元素。如何比較a1中的字符串與a2中的字符串以查看哪個更大?

例如,如果A1和A2存儲的下列元素:

String[] a1 = {"star", "pie", "jelly bean", "car"}; 
String[] a2 = {"cookie", "fig", "banana", "soda"}; 

然後你的方法應該返回新的數組:

{"cookiestar", "piefig", "jelly beanbanana", "sodacar"}. 

這是我走到這一步:

for(int i = 0; i <length; i++) { 
    if(a1[i].stringlength()< a2[i].stringlength()) { 
     String[] a3 = a1[i] + a2[i]; 
    } 
    else { 
     if(a2[i].stringlength().compareTo[i].stringlength() < 0) { 
      String[] a3 = a2[i] + a1[i]; 
     } 
     else { 
      String[] a3 = a1[i] + a2[i]; 
     } 

     return a3[i]; 
    } 
} 

很多錯誤,但我嘗試了很多不同的東西,似乎無法找到它 。我想弄清楚如何比較索引中兩個數組中的字符串。我如何比較a1 [i]和a2 [i]來查看哪個字符串更大?如何將這兩個字符串分配給一個新的數組a3?

+1

什麼語言? :) – mkf

+1

請使用代碼詢問* * specific *有關特定*問題的問題 - 「請修復並完成我的程序」不是一個有效的問題。 –

+0

抱歉,我衝這個問題。它在Java中。我想弄清楚如何比較索引中兩個數組中的字符串。我如何比較a1 [i]和a2 [i]來查看哪個字符串更大?如何將這兩個字符串分配給一個新的數組a3? – AfromanGeo

回答

2

這個問題並沒有說明字符串a1a2的兩個數組的長度是否始終相同,如果不是的話,如果不是這樣,那麼記住下面的代碼適用於他們相等時長度:

public static String[] joiner(String[] a1, String[] a2) 
{ 
     int length1 = a1.length; 
     int length2 = a2.length; 
     String[] a3 = new String[length1]; 

     if(length1 == length2) { 
      for(int i = 0; i < length1; i++) { 
       if(a1[i].length() >= a2[i].length()) 
        a3[i] = a1[i].concat(a2[i]); 
       else 
        a3[i] = a2[i].concat(a1[i]); 
      } 
     } 

     return a3; 
}