(如果已经有一个问题请问这个请给我发表评论中的链接。我没找到任何内容)
我正在做一个小应用程序,比如MasterMind(但更简单,更不喜欢它),如果他尝试了5次并且没有成功,我想帮助用户。
int counter = 1;
while (flag){
System.out.println("Counter");
int guess = input.nextInt();
counter++;
if (counter>=5 && ) {
System.out.println("I'm helping");
}
}
if (counter>=5 && )
我怎么告诉它每隔3次尝试帮助用户怎么第五次?感谢
答案 0 :(得分:2)
第五次之后每三次尝试,包括第五次?
if (counter >= 5 && (counter - 5) % 3 == 0 ) {
所以说这是第8次,if语句是真的,因为8 - 5 = 3
和3 % 3 == 0
如果是第11次,那也是正确的,因为11 - 5 = 6
和6 % 3 == 0
mod函数(%
)返回第一个数字的余数除以第二个数字。如果余数为0,则第一个数字可以被第二个整除。
例如:8 % 3
为2
,因为3
两次进入8
,其余为2
。
9 % 3
为0
,因为3
均匀地进入9
三次。
编辑:
我必须更改的原因是为第二部分添加了counter >= 5
的条件,因为如果计数器为2
并且您从中减去5
,则会得到-3
}。然后,-3 % 3
将为0
并且条件为真,但这不是您想要的。它必须大于或等于5,并且在5(包括)之后每三个数字。