straight = true;
for(int i = 1; i < rankCount.length && straight; i++) {
if(rankCount[i] ==1) {
for(i = i+1;i < i+2; i++) {
if(rankCount[i]!=1){
straight = false;
}
}
}
}
我正在用java实现视频扑克,我使用这段代码来确定当前的手牌是否是顺手牌。我首先遍历卡片列表,并将rankCount 数组的索引更新为相应的当前卡片。例如,如果牌列表上的迭代器给了我一张 A,我就会rankCount[1]++。现在要确定这手牌是否是直手,我只需查找带有条目的 ArrayCount 的第一个索引,然后发布的代码是不言自明的。但是,当我测试该程序时,程序突然结束,没有错误。事实上,它恰好在退出外循环后结束。删除上面的代码可以解决该问题。
最佳答案
您的内部循环使用与外部循环相同的循环计数器。不要。
for(i = i+1;i < i+2; i++) {
我想你想要类似的东西,
boolean straight = true;
for (int i = 0; i < rankCount.length; i++) {
if (rankCount[i] != 1) {
straight = false;
break;
}
}
关于java - 测试突然结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27455572/