首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在java中计算多个if条件

如何在java中计算多个if条件
EN

Stack Overflow用户
提问于 2016-04-22 13:55:17
回答 1查看 86关注 0票数 0

我有一个复杂的数据结构(称为twoDim),如下所示

代码语言:javascript
复制
[[Bolus Exposure (Impedance)Upright], [,  Recumbent, Total], [,  Upright Normal Recumbent Normal Total], [Normal], [Acid Time,  11.0 min, 0.0 min, 11.0 min], ]
[[Acid Exposure (pH),  Upright], [Recumbent, Total], [,  Upright Normal Recumbent Normal Total], [Normal], [Clearance pH  :  Channel 7]]
[[Postprandial Data], [,  Postprandial Interval:  120 min]]
[[Reflux Study Summary], [Acid Exposure (pH),  Upright, Recumbent, Total], [,  Upright Normal Recumbent Normal Total], ]]

我只想提取[[Acid Exposure (pH), Upright], [Recumbent, Total], [, Upright Normal Recumbent Normal Total], [Normal], [Clearance pH : Channel 7]]

提取应该基于这样一个事实,即"Recumbent“是一个内部数组中的第一个元素。

我的代码:

代码语言:javascript
复制
    ArrayList<ArrayList> AcidExpMain = new ArrayList<ArrayList>();
    ArrayList<ArrayList> temp = new ArrayList<ArrayList>();
         Pattern tu1 = Pattern.compile("Acid Exposure \\(pH\\)");
         Pattern tu2 = Pattern.compile("Recumbent");

    for (List<String> row : twoDim) {

                 if (tu1.matcher(row.get(0)).matches() && tu2.matcher(row.get(0)).matches()) {
                     AcidExpMain.add((ArrayList<List<String>>) twoDim);
                     System.out.println("Success");

                 }
}

然而,我没有捕捉到比赛。如果我单独评估每个匹配语句,它们就会完成各自的工作。那么,我的声明哪里错了呢?

我也试过了

代码语言:javascript
复制
for (List<String> row : twoDim) {

                 if (tu2.matcher(row.get(0)).matches()) {

                     temp.add((ArrayList<List<String>>) twoDim);
                     System.out.println("Success"+temp.size());
                     for (ArrayList<String> t : temp) {
                         System.out.println(t+"Success");
                         if (tu2.matcher(temp.get(0).toString()).matches()) {
                             AcidExpMain.add((ArrayList<List<String>>) twoDim);
                             System.out.println("Success");
                         }
                     }

                 }
EN

回答 1

Stack Overflow用户

发布于 2018-08-21 06:01:13

您应该迭代该结构并进行比较。

代码语言:javascript
复制
String[] rows = twoDim.split("[[");
for (String row : rows) {
String[] cols = row.split("[");

然后比较每一列,看看第一个单词是否为“卧式”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36785951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档