提问者:小点点

官方Java摘录解决方案不起作用…我做错了什么?


atm,我正在做一个Java节选,它是关于比较一个整数和一个数组列表的所有元素。 根据书中的解决方案应该是比较“int index=arraylist.indexof(comparisonValue);” 和“index>=0”。 但对我来说,这不起作用。 我还读到“indexof”只检查ArrayList的第一个位置。 但当这是真的时,为什么这在我的书中被标记为正确的解决方案呢?

也许我弄错了。 下面是我的代码,thx:)

ArrayList<Integer> tiplist = new ArrayList<Integer>(20);
int des = 0;
int limit = 20;
int tipc = 0;
int index = tiplist.indexOf(tip);
    
    //program loop:
    while (des == 0 && tipc < limit) {
        tip = 6;   //I made it easy to read, normally the number is generated   
        tipc++;   //tip count
        if (tipc > 1) {   //if it is not the first tip

那是行不通的:

        if (index >= 0) {
            System.out.println("Nothing new");

        }

但那一个可以,尽管我读到“contains”也使用“indexof”:

        if (tiplist.contains(tip) == true) {
            System.out.println("Nothing new");
        }

最后几行。。。

  }
            tiplist.add(tip);
    // -->do something
}

共2个答案

匿名用户

在tipList中找不到tip的索引,除非你知道tip是什么并且你已经填好了列表。

匿名用户

一旦导入或输入了数据,就可以运行,但如果它指向的是未设置为NULL的空内容,则不会打印。