真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java約瑟夫問題代碼 java實(shí)現(xiàn)約瑟夫環(huán)問題

JAVA中怎么用List實(shí)現(xiàn)約瑟夫問題,我只會用數(shù)組求、

這個(gè)是用集合類寫的,建議你多用集合類少用數(shù)組,從整個(gè)Java的api上來看,對集合類的支持要好于數(shù)組

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供平和企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、H5場景定制、小程序制作等業(yè)務(wù)。10年已為平和眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

Josephus(1, 9, 5) 這個(gè)構(gòu)造方法的意思 從第1個(gè)人開始報(bào)數(shù),一共9個(gè)人,數(shù)到5的人出列

用了一個(gè)Iterator,不用也可以

List選用了LinkedLisk,用ArrayList或Vector也可以

沒有仔細(xì)想,有問題再交流

import java.util.Iterator;

import java.util.LinkedList;

public class Main {

public static void main(String[] args) {

Josephus test = new Josephus(1, 9, 5);

for (Integer i : test) {

System.out.println(i);

}

}

}

class Josephus implements IterableInteger {

private LinkedListInteger stack;

private int first; //從第幾個(gè)人開始

private int key; //數(shù)幾個(gè)

private int capacity; //一共幾個(gè)人

public Josephus(int first, int capacity, int key) {

this.first = first;

this.capacity = capacity;

this.key = key;

this.stack = new LinkedListInteger();

for (int i = 1; i = this.capacity; i++) {

this.stack.add(i);

}

for (int i = 0; i this.first - 1; i++) {

this.stack.add(this.stack.remove());

}

}

public Iterator iterator() {

return new Itr();

}

class Itr implements IteratorInteger {

public boolean hasNext() {

return !stack.isEmpty();

}

public Integer next() {

for (int i = 0; i key - 1; i++) {

stack.add(stack.remove());

}

return stack.remove();

}

public void remove() {

throw new UnsupportedOperationException("Not supported yet.");

}

}

}

Java中利用集合實(shí)現(xiàn)約瑟夫問題

你的iter=all.iterator();這句后少了iter.next(); 如果不指向一個(gè)元素那你的iter.remove(); 就不知道要?jiǎng)h除那個(gè)元素了,所以獲取新迭代器后要用next方法指定刪除的是哪個(gè),否則會拋出異常的。

for(int?i=0;i3;i++){

?if(iter.hasNext())

?iter.next();

?else{

?iter=all.iterator();

?iter.next();

?}

?}

幫忙看下這個(gè)代碼。約瑟夫環(huán)問題報(bào)錯(cuò)。一維數(shù)組的。

問題出在數(shù)組下表越界,但是我忘了約瑟夫環(huán)是怎么弄得了,具體講就是j+i的值不能比你聲明的數(shù)組a[12]還要大,剛才我試了下,在最內(nèi)層的循環(huán)執(zhí)行第2次時(shí),j+i的值為13,產(chǎn)生了越界


本文題目:java約瑟夫問題代碼 java實(shí)現(xiàn)約瑟夫環(huán)問題
標(biāo)題來源:http://weahome.cn/article/ddidhgs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部