2015-10-19 48 views
0

我想在foreach数组的最后一项中追加某个字符串。如何在最后的每个项目中添加字符串?

该程序工作得很好。鉴于“待定”数组中的项目,它应该在的超时值中的最后一项在待定值:

String a = out + "-" + rptdate + "-"; 
for (String pn : pending) { 
    //checks if total value + pending length value is less than 160 
    if (a.length() + pn.length() < 160) { // < to leave room for the comma as well 
     if (a.length() != 0) { 
      if (a.length() != 14) { 
       a += ","; 
      } 
     } 

     a += pn; 
    } else { 
     resultingStrings.add(a); 
     a = pn; 
     Log.d("messages", a); 
    } 
} 
resultingStrings.add(a); 
for (String r : resultingStrings) { 
    sendSMS(r); 
} 
+0

什么在等待? – Sheychan

+0

我无法真正理解您的问题,因此您希望将待处理清单中的最后一个项目附加到待处理清单中的每个项目? –

+0

挂起是数组的名称。然后,我想追加一个字符串在数组的最后一项。 – user5083862

回答

1

尝试一些简单的代码

int size = pending.size(); 
int index = 0; 
for (String pn : pending) { 
    if(index == size - 1){ 
     // it is last foreach => add your last string here 
    } 
    index++;  
    ... 
} 

希望这有助于

1

你也可以做,

for(int i = 0; i < array.length; i++) { 

    if(i = (array.length - 1)) { 

     //this is the last element in the array 
    } 
} 
1

如果你需要做的就是抓住一个集合的最后一个元素,并添加一些文字对此它应该工作。

String out = "Some value";  
int lastIndex = pending.getSize() -1; // < 0 indexed 
String lastItem = pending.get(lastIndex) 
String newLastItem = lastItem + out; // < String concatenation 

但是从你的片段,我不认为这就是你的,因为之后如果我们去除一些幻数和纠正压痕,并就你的努力做你留下

一些假设
String a = out + "-" + rptdate + "-"; 
int prefixLength = a.length(); 
for (String pn : pending) { 
    //checks if total value + pending length value is less than 160 
    if (a.length() + pn.length() < MAX_LENGTH) { // < to leave room for the comma as well 
     if (a.length() > prefixLength) { 
      a += ","; 
     } 

     a += pn; 
    } else { 
     // have string longer than max length, so save and start a new sms. 
     resultingStrings.add(a); 
     Log.d("messages", a); // < log a before you overwrite it. 
     a = pn; 
    } 
} 

// DO YOU WANT TO APPEND out AS A SUFFIX TO a HERE ??? 
// a += out; 
// but if so youll want to consider the case if a is now > MAX_LENGTH 

resultingStrings.add(a); // add the last string 

// send all composed strings 
for (String r : resultingStrings) { 
    sendSMS(r); 
} 

我正在挑选相对较新的代码,所以我建议先从一些伪代码开始,然后在代码中进行注释。始终保持您的代码格式良好,以便缩进匹配,并为变量和常量使用描述性名称。

相关问题