嗨
这是我的完整代码!我其中有两个列表
,一个是按递增顺序排列的(inorder list
),另一个不是!它必须打印0
,但它会print -1
,请帮助我,谢谢!
public class NewClass{
private static List<Element> list;
private static List<Element> inorder;
public NewClass(List listOne, List inorderOne) {
list = new ArrayList(listOne);
inorder = new ArrayList(inorderOne);
FindAllowedTrees((ArrayList<Element>) list);
}
public static void FindAllowedTrees(ArrayList<Element> result) {
for (int i = 0; i < result.size() -1; i++) {
if (result.get(i+1).getDigit() > result.get(i).getDigit()) {
int indx = inorder.indexOf(0);
System.out.println(indx);
}
}
}
public static void main(String[] args){
List<Element> listTwo = new ArrayList();
List<Element> listOne = new ArrayList();
Element e = new Element(0, 0.12);
Element e1 = new Element(2, 0.13);
Element e3 = new Element(3,0.5);
listTwo.add(e);
listTwo.add(e1);
listTwo.add(e3);
listOne.add(e);
listOne.add(e1);
listOne.add(e3);
Collections.sort(listOne,new SortingObjectsWithDigitField());
new NewClass(listTwo,listOne);
}
}
最佳答案
您的列表是 Element
对象的列表。您正在寻找整数 0 的索引。整数永远不会等于 Element
,因此 indexOf()
找不到 0 并返回 -1 来指示没有找到。
关于java - 此代码不会打印正确的索引!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4412056/