这是我第一次在这里提问。 我是java新手,我在这段代码中遇到了循环问题 我不知道在哪里打破循环。
谢谢你的帮助:) this image is from the book regarding this question
printf
}
答案 0 :(得分:1)
问题出现在第二阶段'游戏逻辑,游戏在胜利之后继续进行,并且你在每次掷骰后增加损失计数器的时候,如果首先掷出7,那么它应该只是一个损失,然后游戏结束。你可能想要更像这样的东西:
else {
while (true) {
int rndice3 = rn.nextInt(5) + 1;
int rndice4 = rn.nextInt(5) + 1;
if (rndice3 + rndice4 == sum) {
// System.out.println("you won");
counterw++;
break;
}
if (rndice3 + rndice4 == 7) {
counterl++;
break;
}
}
}
答案 1 :(得分:0)
对我来说,你可以使用boolean xc
退出循环而不是使用点语句(假设玩家赢了,我认为循环不应该运行aagin)
现在do {} while()循环就像这样
do中的代码总是运行ATLEAST 1次,然后检查结束时的while语句,如果语句仍为true则再次运行,直到语句为false,因此你想要的是退出要求(鉴于玩家赢了......只是使用它?)
示例强>
do {
xc = false;
if(points == condition){
xc = true;
}
// some code
} while(!xc)