我有一系列从0到9的数字。现在在下面的代码中,我得到一个介于0和9之间的数字。
Your URL can't contain a query string or invalid special characters
现在基于int number = getRandomNumber(); // this will give me number between 0 and 9 inclusive
int newNumber = ....
变量,我想生成一个number
,它也应该在0到9之间。此newNumber
将为原始newNumber
的-2。
number
为number
。然后我需要5
为newNumber
,这是原始数字的-2。3
为number
。然后我需要2
为newNumber
,这是原始数字的-2。0
为number
。然后我需要9
为newNumber
,这是原始数字的-2。7
为number
。然后我需要1
为newNumber
,这是原始数字的-2。9
为number
。然后我需要0
为newNumber
,这是原始数字的-2。这样做的逻辑是什么,这样我才能得到8
,它始终是原始数字的-2,并且在0到9之间。
基本上我的困惑是如何为1和0案件获得正确的价值。
因此对于newNumber
情况,如果我减去1
,我会得到-2
,但这不是正确答案我希望在0到9之间,所以我不确定会是什么这是逻辑?
答案 0 :(得分:4)
另一种方法是
import static com.mongodb.client.model.Accumulators.*;
import static com.mongodb.client.model.Aggregates.*;
import static com.mongodb.client.model.Projections.computed;
import static java.util.Arrays.asList;
import static java.util.Collections.EMPTY_LIST;
Bson group = group(null,
sum("followersCount", computed("$size",
computed("$ifNull",
asList("$followers", EMPTY_LIST)))),
sum("followingCount", computed("$size",
computed("$ifNull",
asList("$i_am_following", EMPTY_LIST))))
);
AggregateIterable <Document> output = userinfo.aggregate(asList(group));
答案 1 :(得分:1)
这很简单。
newNumber = number -2;
if(newNumber < 0) newNumber = newNumber+10;