有一个问题。尝试制作一个简单的if语句,在该语句中它过滤掉if语句中的先前值。

getDBQueueID传递以下整数:


  1,2,3,4,4,5,6,7,8,8,8,8,8,8,9,10


我只希望唯一值进入该“ if”语句。

理想情况下不要数组,因为这些数字将超过数百万。

片段代码:

public int DBQueueID;
public int prevQueueNumber=0;

if(getDBQueueID()>0 && prevQueueNumber!=getDBQueueID())
    {
        addCall(getDBQueueID());
        prevQueueNumber = getDBQueueID();
    }

最佳答案

如果可以对“ getDBQueueID”传递给if语句的数字进行排序,则只需在if语句中每次检查当前数字是否大于前一个。像这样

public int DBQueueID;
public int prevQueueNumber=0;

while(getDBQueueID()>0 && getDBQueueID() > prevQueueNumber)
    {
        addCall(getDBQueueID());
        prevQueueNumber = getDBQueueID();
    }

07-25 23:29