-1

我长期以来一直陷入以下问题 -

我想从 3 个 Int 数组创建一个字符串数组 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 数组中,不检查 Time2 是否相同,检查 Time3。

最后我们应该得到输出字符串数组 -

输出数组

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

有人能帮我吗????

更新:

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

4

3 回答 3

1

当你编译它时,你可以使用org.apache.commons.collections.CollectionUtilsandorg.apache.commons.collection.Predicate来过滤而不使用循环。

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

        });
于 2012-08-11T13:40:28.310 回答
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退出循环。
  • 对其他两个数组重复最后一步
于 2012-08-11T13:15:26.270 回答
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};
于 2012-08-11T13:16:54.863 回答