从多个整数数组创建一个String数组

时间:2012-08-11 13:10:15

标签: java arrays

我很长时间陷入以下问题 -

我想从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;

因此循环遍历每个整数数组,检查Time1,第一个大于2.0的数组项应该放在我们的String数组中,Noe检查Time2是否为Time3。

最后我们应该将输出String数组作为 -

输出数组

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

有人可以帮助我????

更新:

还有一种方法可以创建一个double [],如下所示 - \ {1,2,,3,4,...,5}

3 个答案:

答案 0 :(得分: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;
            }

        });

答案 1 :(得分:0)

可能是一个拼写错误,但这是启动数组的方式(它们应该是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 - 遍历第一个数组
  • 将当前值与您的阈值进行比较,if当前值更大,然后将其存储在字符串数组的第一个插槽中(需要将其转换为字符串),并将break从循环。
  • 重复上一步到另外两个数组的步骤

答案 2 :(得分: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};