如何在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();
ANoSuchElementException
,因为迭代没有下一个元素
试一试
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;