大家好,我在国外求学最近开始学习java和物件导向的观念
但第一个作业就遇到问题了QQ 助教的话也听不太懂
希望有人可以指点我一下
题目要写一个产生质数的程式
第一个方法是要写一个sieve方法
当sieve(100)时,要产生两个阵列,一个是100以下的所有数字,除了前两项
另一个是布林阵列,前两项是False,之后都为true
测试的程式如下,应该要印出2-99的整数
try
{
sieve = new Sieve(100);
}
catch (IllegalArgumentException oops)
{
System.out.println("Sieve size must be at least 2.");
}
// This must print integers from 2 to 99, separated by blanks.
System.out.println(sieve);
以下是我写的程式
public class Sieve {
private boolean[] numbers;
private Sieve[] sieve;
private int max;
public Sieve(int max) {
this.max=max;
numbers=new boolean[max];
sieve = new Sieve[max];
if(max<2)
throw new IllegalArgumentException();
else {
numbers[0]=false;
numbers[1]=false;
for(int i=2;i<max;i++) {
numbers[i]=true;
X sieve[i-2]=i; //这边会出现type mismatch
//的问题,但我不知道怎么办QQ
}}}}
请问可以告诉我应该要改正哪里吗,感谢!