DOBON.NET DOBON.NETプログラミング掲示板過去ログ

これどうすればいいですか・・・?

分類:[その他]


public class Shukudai453{
boolean[] bb;
Shukudai453(int index){
bb=new boolean[999999999];
}

public static void main(String[] args){
System.out.println("\nstart");
int n = 999999999;
Shukudai453 jp=new Shukudai453(n+1);
jp.setPrime();
jp.checkChebychev();
}

public void setPrime(){
int index=0;
for(int i=2;i<bb.length;i++){
if(!bb[i]){
index=i;
while((index+i)<bb.length)bb[index+=i]=true;
}
}
}

public void checkChebychev(){
//素数pの次の素数は2pより小さい
int n1=1;

for(int i=2;i<bb.length;i++){
if((!bb[i]) && (i<=(n1*2))){
System.out.println(i+"においてチェビシェフの定理は成り立つ");
n1=i;
}
}
}
}



↑の奴で、nをlong型にしたらShukudai453(n+1)部分に赤線が引かれて、実行してもエラーになります。
Shukudai453(int index){
bb=new boolean[999999999];
}
の中の(int index)をlong型にしても駄目です・・・

どうすればいいでしょうか?
■No19971に返信(絵馬さんの記事)

http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=19901&rev=&no=0
http://www.javaroad.jp/bbs/answer.jsp?q_id=20070622235526650

この辺の方と同じ学校ですか?
多分そうでしょうが質問内容はぜんぜん違います。
僕が聞きたいのは、BOOLEAN[] の []の中にはint型しか入らないのかなーってことです。
LONG型を入れようとするとエラーが出るので。
お願いします。
調べたんですがboolean[]の中にはint型の上限以上は入らないみたいですね・・・
booleanを使わずにこのプログラムを再現するにはどうすればいいでしょうか?
この投稿はマルチポストです。

●マルチポストされている場所
http://www.javaroad.jp/bbs/answer.jsp?q_id=20070702063200872

----------
この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのマナーについて」をお読みください。

●書き込みのマナーについて
http://dobon.net/vb/bbs/index.html
この投稿はマルチポストです。

●マルチポストされている場所
http://www2.moug.net/bbs/program/20070702000002.htm

----------
この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのマナーについて」をお読みください。

●書き込みのマナーについて
http://dobon.net/vb/bbs/index.html

DOBON.NET | プログラミング道 | プログラミング掲示板