永发信息网

怎么用java数组实现约瑟夫环

答案:1  悬赏:40  手机版
解决时间 2021-03-16 11:00
  • 提问者网友:溺爱和你
  • 2021-03-15 17:11
怎么用java数组实现约瑟夫环
最佳答案
  • 五星知识达人网友:夜风逐马
  • 2021-03-15 18:19
用java数组实现约瑟夫环
package Josephround;

public class Joseround {
    int sit;
    int flagjo=0;
    Joseround(){};
    Joseround(int x){
        sit=x;
    }
    void setflag(int x){
        flagjo=x;
    }

}
package Josephround;

public class Inijose {
    Joseround jo[];
    static int length=0;
    Inijose(){};
    Inijose(int x){
        jo=new Joseround[x];
        for(int i=0;i             jo[i]=new Joseround(i+1);//创建对象数组
            length++;
        }
    }
    void delete(int n){
        for(int i=n;i             jo[i]=jo[i+1];
            }
        length--;
    }

}
package Josephround;

import java.util.Scanner;

public class Text {

    public static void main(String[] args) {
        int m,n;
        System.out.println("input m");
        Scanner m1=new Scanner(System.in);
        m=m1.nextInt();
        System.out.println("input n");
        Scanner n1=new Scanner(System.in);
        n=n1.nextInt();
        int temp=0;
        int x=0;
        Inijose joseph=new Inijose(n);
        while(joseph.length!=0){
            for(int i=1;i<=m;i++){
                joseph.jo[x].setflag(i);
                if(joseph.jo[x].flagjo==m){
                    System.out.println(joseph.jo[x].sit);
                    joseph.delete(x);
                    x--;
                }
                if(x                 else x=0;
            }
        }

    }

}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯