| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

约瑟夫问题Java代码

public class JosephQuestion {            public static void main(String[] args) {            for (int i = 2; i < 11; i++) {                findMonitor(initPersons(i),i);            }        }            public static Person initPersons(int num) {            Person firstPerson = new Person(1);            Person lastPerson = firstPerson;            for (int i = 2; i <= num; i++) {                Person person = new Person(i);                lastPerson.setNextPerson(person);                lastPerson = person;            }            lastPerson.setNextPerson(firstPerson);            for (int i = 0; i <num; i++) {                System.out.print(firstPerson.getName()+" ");                firstPerson = firstPerson.getNextPerson();            }            System.out.println();            return firstPerson;        }            public static void findMonitor(Person person,int size) {            Person lastPerson = person;            int counter = 1;            while(size>1){                lastPerson = person;                person = person.getNextPerson();                counter++;                if(counter==3){                    lastPerson.setNextPerson(person.getNextPerson());                    person =lastPerson.getNextPerson();                    counter=1;                    size--;                }            }            System.out.println(person.getName());        }    }