Java 在语句中放置条件操作

Java 在语句中放置条件操作,java,operators,Java,Operators,我这里有这个代码: 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语句来实现它,但我更愿意保持原样,只使用一个

我这里有这个代码:

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

将评论升级为答案

模数运算符
%
将产生0到5之间的范围。它将保留1-5,并将6更改为0。在模数运算后添加一个,以将范围转换回1-6

(die1 % 6) + 1

不,那是不可能的。其余部分为
0
。它不会是
6
。它不能是
6
。这就是数学。我是说添加一个东西,检查余数是否为
0
,并添加
6
,如果是,您可以使用三元运算符而不是嵌套if
(die1%6)+1
谢谢@rgetman,因为这确实解决了我的问题!我不知道为什么我一开始就把它放进去了!不,那是不可能的。其余部分为
0
。它不会是
6
。它不能是
6
。这就是数学。我是说添加一个东西,检查余数是否为
0
,并添加
6
,如果是,您可以使用三元运算符而不是嵌套if
(die1%6)+1
谢谢@rgetman,因为这确实解决了我的问题!我不知道为什么我一开始就把它放进去了!