在语句中放置条件操作
Putting a conditional action within a statement
我这里有这段代码:
public int withoutDoubles(int die1, int die2, boolean noDoubles) {
if (noDoubles && die1 == die2) return ((die1 + 1) % 6 + die2);
else return die1 + die2;
}
我想得到它,这样如果当模数运算符 运行 通过时它是 6,它会放置 6 而不是 0。我知道我可以通过额外的 if
语句,但我更愿意保持原样,只有一对 if-else
。这可能吗?
将评论提升为答案。
模数运算符 %
将产生 0 到 5 之间的范围。它将保留 1-5 并将 6 更改为 0。在模数 之后添加一个 将范围转换回 1-6 的操作。
(die1 % 6) + 1
我这里有这段代码:
public int withoutDoubles(int die1, int die2, boolean noDoubles) {
if (noDoubles && die1 == die2) return ((die1 + 1) % 6 + die2);
else return die1 + die2;
}
我想得到它,这样如果当模数运算符 运行 通过时它是 6,它会放置 6 而不是 0。我知道我可以通过额外的 if
语句,但我更愿意保持原样,只有一对 if-else
。这可能吗?
将评论提升为答案。
模数运算符 %
将产生 0 到 5 之间的范围。它将保留 1-5 并将 6 更改为 0。在模数 之后添加一个 将范围转换回 1-6 的操作。
(die1 % 6) + 1