在这个函数中,一旦我的if语句变为true,它就会返回一个值,并将其“踢”出函数。我正在尝试获取arrayList的其余元素,所以我知道哪些我不会访问它。我的问题是,如何从阵列中获取其余元素?
For(Node a:state.children)
{
state.value = Math.max(state.value,min_value(a, alpha, beta));
alpha = Math.max(alpha,state.value);
if(beta <=alpha)
{
System.out.println("The elements that are going to be skipped are: " + a.label);
return state.value;
}
}
如何复制由于return语句而不会被使用的数组的最后元素
答案 0 :(得分:0)
如果您不想从函数返回,请不要在if中包含return语句。如果您需要在室外使用它,请将它们存储在一个集合中并使用它
答案 1 :(得分:0)
有另一个ArrayList来保存未提取的值。 为此,请将else块添加到现有if块。在else块中,将元素添加到temp ArrayList。遍历temp ArrayList以获取未提取的值。
ArrayList<Node> tempList = new ArrayList<Node>();
For(Node a:state.children)
{
state.value = Math.max(state.value,min_value(a, alpha, beta));
alpha = Math.max(alpha,state.value);
if(beta <=alpha)
{
System.out.println("The elements that are going to be skipped are: " + a.label);
} else {
tempList.add(a);
}
}