2012-08-11 161 views
-1

我陷入了很长一段时间的以下问题 -从多个整数数组创建一个字符串数组

我想从3个Int数组创建一个String数组StrTime。

输入数组

int Time1[]={"1.1","2.1","4.1"}; 
int Time2[]={"2.5","4.7","5.1"}; 
int Time3[]={"12.55","1.11","2.1"}; 

CurrentTime = 2.0; 

所以循环尽管每个整数数组,检查时间1,其大于2.0,应把我们的字符串数组的第一个数组元素,野老检查时间2的相同,时间3 。

年末,我们应该得到的输出字符串数组 -

输出数组

String strTime[] ={"2.1","None","2.1"} 

人可以帮我????

UPDATE:

另外有一种方法以产生双[]像如下─\ {1,2,,3,4,...,5}

+3

不应该编译。你正在分配'int []'一个String []'!!! – Nishant 2012-08-11 13:13:11

+0

数组初始化将不会编译,并且 - 如果我的要求正确,则不应输出为“{”2.1“,”2.5“,”12.55“} ... – 2012-08-11 13:14:03

+0

@Nishant。是的,因为这个事实,我也叫它DIFFICULT – 2012-08-11 13:14:03

回答

0

可能是一个错字,但是这给init阵列的方式(他们应该是double):

double time1[]={1.1, 2.1, 4.1}; 
double time2[]={2.5, 4.7, 5.1}; 
double time3[]={12.55, 1.11, 2.1}; 

提示:

  • 创建一个新的String通过第一阵列
  • 与阈值进行比较的电流值数组结果
  • for -loop,if当前值大于它存储在字符串数组的第一时隙(需要将它转换为串)和break在循环之外。
  • 重复最后一个步骤,为其他两个数组
+0

我还在编辑它... – 2012-08-11 13:18:59

+0

如何将它转换为字符串。 – Ritesh 2012-08-11 14:08:25

+0

'String intAsString =“”+ intValue;' - 这是这个问题最简单的解决方案。 – 2012-08-11 14:23:03

0

用途:

double time1[]={1.1, 2.1, 4.1}; 
    double time2[]={2.5, 4.7, 5.1}; 
    double time3[]={12.55, 1.11, 2.1}; 
1

当你得到它的编译,你可以使用org.apache.commons.collections.CollectionUtilsorg.apache.commons.collection.Predicate没有循环过滤。

CollectionUtils.find(getACollectionOfYourArray() , new Predicate() { 
      public boolean evaluate(Object val) { 
       // if is gt 2 
       return true; 
      } 

     }); 
+0

呵呵。这个答案确实有道理。 – TheBlastOne 2014-10-01 17:05:48