使用java的Josephus游戏
目前我的约瑟夫斯密码有问题 代码的目的是要求用户输入3个整数,然后执行 对于某些数字序列,它工作正常,而对于其他序列,它产生错误的输出。例如,如果我输入7(尺寸),1(支架)3(通过)。我得到的最后一个整数是3,假设它是2。我也有一个问题的大小不是从1开始 例如,如果我将我的尺寸定义为7,则假定从1.2.3开始。。。而是从8.2.4开始 我认为问题在于deleteList方法。因为我注意到当程序到达列表为(2,3,5,7)的序列时,它不会正确删除。我不明白为什么它要删除3而不是5使用java的Josephus游戏,java,Java,目前我的约瑟夫斯密码有问题 代码的目的是要求用户输入3个整数,然后执行 对于某些数字序列,它工作正常,而对于其他序列,它产生错误的输出。例如,如果我输入7(尺寸),1(支架)3(通过)。我得到的最后一个整数是3,假设它是2。我也有一个问题的大小不是从1开始 例如,如果我将我的尺寸定义为7,则假定从1.2.3开始。。。而是从8.2.4开始 我认为问题在于deleteList方法。因为我注意到当程序到达列表为(2,3,5,7)的序列时,它不会正确删除。我不明白为什么它要删除3而不是5
public void deleteList(int holder, int pass, int listSize){// method to determine which number gets deleted
while(listSize!= 1){
Link current = find(holder, listSize);
Link previous = first;
for(int i = 1; i < pass; i++){
current = current.next;
}
previous = current;
current = current.next;
if(current == first){
first = first.next;
}
else{
previous.next = current.next;
}
holder = current.next.iData;
displayList(--listSize);
}
}
public void deleteList(int holder,int pass,int listSize){//确定删除哪个数字的方法
while(listSize!=1){
链接电流=查找(保持器,列表大小);
链接前一个=第一个;
for(int i=1;i
您应该缩小问题的范围,并发布一篇欢迎使用堆栈溢出的文章!看起来你可能在请求家庭作业帮助。虽然我们对此本身没有问题,但请注意这些,并相应地编辑您的问题。(即使这不是家庭作业,也请考虑这个建议。)请解释你的问题中的“约瑟夫斯游戏”,张贴你的完整代码。