写了个输入个数 输出素数的东西....可是Arraylist总是提示类型转换错误...
希望高手指点一下...实在无奈啊参考算法
prime numbers:
Set the first element of a to the lowest prime number (2).
For each odd number, test, starting at 3:
For each element, p, in a:
Compute the remainder of test/p.
If the remainder was non-zero for every p:
Append test to a.
If the length of a equals n:
break程序
import java.util.*;
public class Prime{
static int sum;
public static void main(String []args){
ArrayList<Integer> PrimeNumbers=new ArrayList<Integer>();
PrimeNumbers.add(new Integer(2));//先将素数2加入
Scanner in=new Scanner(System.in);
System.out.println("Please input a number(n>0):");
sum=in.nextInt();
for(int test=3;;test+=2){
for(int order=0,p=((Integer)(PrimeNumbers[order])).intValue();;order<PrimeNumbers.size();order++)
if(test%p==0){
PrimeNumbers.add(new Integer(test));
break;
}
if(PrimeNumbers.size()==sum)
break;
}
System.out.println(PrimeNumbers);
}
}错误多多 大家指点!!!
希望高手指点一下...实在无奈啊参考算法
prime numbers:
Set the first element of a to the lowest prime number (2).
For each odd number, test, starting at 3:
For each element, p, in a:
Compute the remainder of test/p.
If the remainder was non-zero for every p:
Append test to a.
If the length of a equals n:
break程序
import java.util.*;
public class Prime{
static int sum;
public static void main(String []args){
ArrayList<Integer> PrimeNumbers=new ArrayList<Integer>();
PrimeNumbers.add(new Integer(2));//先将素数2加入
Scanner in=new Scanner(System.in);
System.out.println("Please input a number(n>0):");
sum=in.nextInt();
for(int test=3;;test+=2){
for(int order=0,p=((Integer)(PrimeNumbers[order])).intValue();;order<PrimeNumbers.size();order++)
if(test%p==0){
PrimeNumbers.add(new Integer(test));
break;
}
if(PrimeNumbers.size()==sum)
break;
}
System.out.println(PrimeNumbers);
}
}错误多多 大家指点!!!
BufferedReader in =new BufferedReader(new InputStreamReader(System.in));
System.out.println("input a number:");
sum=in.read();
}
这样输入一个数字3 在debug中sum怎么=51啊???不解,求救!!!
import java.util.*;
public class Prime{
static int sum;
public static void main(String []args){
ArrayList PrimeNumbers=new ArrayList();
PrimeNumbers.add(new String("2"));//先将素数2加入
Scanner in=new Scanner(System.in);
System.out.println((String)PrimeNumbers.get(0)+"Please input a number(n>0):");
sum=in.nextInt();
for(int test=3;;test+=2){
for(int order=0,p=Integer.parseInt((String)PrimeNumbers.get(order));order<PrimeNumbers.size();order++)
if(test%p==0){
PrimeNumbers.add(new Integer(test));
break;
}
if(PrimeNumbers.size()==sum)
break;
}
System.out.println(PrimeNumbers);
}
}
这样是不报错了 还是没有实现功能,lz what do you want