Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java的Josephus游戏_Java - Fatal编程技术网

使用java的Josephus游戏

使用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

目前我的约瑟夫斯密码有问题

代码的目的是要求用户输入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
您应该缩小问题的范围,并发布一篇欢迎使用堆栈溢出的文章!看起来你可能在请求家庭作业帮助。虽然我们对此本身没有问题,但请注意这些,并相应地编辑您的问题。(即使这不是家庭作业,也请考虑这个建议。)请解释你的问题中的“约瑟夫斯游戏”,张贴你的完整代码。