Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中打破条件并返回数据 删除了某些部分。现在可能没有必要这样做。_Java_Android_Arraylist - Fatal编程技术网

如何在java中打破条件并返回数据 删除了某些部分。现在可能没有必要这样做。

如何在java中打破条件并返回数据 删除了某些部分。现在可能没有必要这样做。,java,android,arraylist,Java,Android,Arraylist,我使用下面的代码,我的主要意图是如果条件匹配,那么退出循环并返回预期的数据 在下面的列表中,我得到了实际的预期列表,但无法返回数据,这就是我想要的。我返回测试数据值 public String getlistdata(){ String s = "testting data"; if(!(this.element==null)){ ListIterator<ElementData> li = this.e

我使用下面的代码,我的主要意图是如果条件匹配,那么退出循环并返回预期的数据

在下面的列表中,我得到了实际的预期列表,但无法返回数据,这就是我想要的。我返回测试数据

    public String getlistdata(){
    
    String s = "testting data";
     if(!(this.element==null)){
            ListIterator<ElementData> li = this.element.listIterator();
            List<String> list = new ArrayList<String>();;
            while (li.hasNext()) {
                list.add(li.next().getElemType().toString());
            }
            Log.e("LIST", "TEST LIST"+list+"=="+list.size());
            
            for (String temp : list) {
                System.out.println(temp);
                if (temp.toString().equalsIgnoreCase("group")){
                    s = li.next().getGrpResult();
                      break ;
                }
            }
        }
        return s;
    
    }
公共字符串getlistdata(){
字符串s=“测试数据”;
if(!(this.element==null)){
ListIterator li=this.element.ListIterator();
List List=新的ArrayList();;
while(li.hasNext()){
添加(li.next().getElemType().toString());
}
Log.e(“LIST”、“TEST LIST”+LIST+“==”+LIST.size());
用于(字符串临时:列表){
系统输出打印项次(温度);
if(temp.toString().equalsIgnoreCase(“组”)){
s=li.next().getGrpResult();
打破
}
}
}
返回s;
}
请确定我在该代码中的错误所在

编辑: 我解决了上面的用户问题2310289的答案,这是下面的问题,但我有另一个问题在这里再次


我有问题,如果我有两个或更多的组在这里,所有时间执行 第一组。如何第二次执行此方法调用下一个组。 或第三次第三组。这意味着如果第二次发生这种情况,该如何启动 调用此函数,从第一个groupindex+1和第三个groupindex开始索引 将此方法调用为secondgroupindex+1,依此类推。我有很多 这里很混乱。他在暗示什么

文本、组、组、正常、数字、组、文本


只需对if条件进行以下更改

 if (temp.toString().equalsIgnoreCase("group")){
                    s = li.next().getGrpResult();
                     return s;
    }

不要使用
中断
而使用
返回s

if (temp.toString().equalsIgnoreCase("group")){
                    s = li.next().getGrpResult();
                      return s ;
                }

为什么还要费心将数据添加到本地
列表中呢

已更新

首先,代码
while(li.hasNext()){
在列表中进行迭代,然后它尝试
li.next().getGrpResult();
A
NoSuchElementException
,因为迭代没有下一个元素

试一试

String s=“测试数据”;
if(!(this.element==null)){
ListIterator li=this.element.ListIterator();
while(li.hasNext()){
ElementData ed=li.next();
字符串temp=ed.getElemType().toString();
系统输出打印项次(温度);
if(临时等效信号情况(“组”)){
返回ed.getGrpResult();
}
}
}
返回null;
更新


关于您的评论,如果您想要所有匹配的
ElementData
,则不必
返回ed.getGrpResult();
只需添加到
ArrayList
myList.add(ed.getGrpResult());
然后代码将继续循环。在方法结束时,返回
数组列表

此处建议的所有答案与您已有的答案相同。
break
语句退出循环并返回s!!!即使有下面精彩的答案,仍然存在问题。首先,代码
在(li.hasNext()){
在列表中进行迭代,然后它尝试
li.next().getGrpResult();
将抛出一个NoSuchElementException-因为迭代没有下一个元素是我在java.util.AbstractList$SimpleListator.next(AbstractList.java:59)中得到了
java.util.NoSuchElementException
exception,当尝试我的代码添加返回s时。那么,如何解决这个问题呢?有什么想法吗?看看我更新的答案。哇哦,够讨厌的人了。有人也否决了我。(不知道为什么)很好,也许你应该删除你的
我讨厌…
演讲。好的。非常感谢你的回答。我有个问题,如果我有两个或更多的组,所有时间都在第一组执行。如何执行第二次此方法调用下一组。或者第三次调用第三组。这意味着如果第二次调用此函数,如何启动此方法,从f开始索引第一个groupindex+1和第三个调用此方法第二个groupindex+1等等。我在这里有很多困惑。请给出提示。我已经用这个最新的要求更新了我的答案。谢谢。你的话对我很有帮助。
 String s = "testing data";
 if(!(this.element==null)){
        ListIterator<ElementData> li = this.element.listIterator();
        while (li.hasNext()) {
            ElementData ed = li.next();
            String temp = ed.getElemType().toString();
            System.out.println(temp);
            if (temp.equalsIgnoreCase("group")){
                 return ed.getGrpResult ();
            }
        }

 }
 return null;