要求:
2. 用户输入一个整数范围,程序列出该范围内的所有素数? 我调用。int[] isPrime(int a, int b)
没有能够装素数装入数组并返回。请问,我该怎么样做才能够返回一个全是素数的组啊?
代码:- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class Exp2 {
- public static void main(String args[]) throws IOException{
- // new Exp2().judge1();
- new Exp2().judge2();
- }
- /*
- * 一个区域的素数。
- */
- public void judge2() throws IOException{
- String line;
- int num;
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
- line = br.readLine();
- String[] s = line.split(",");
- int a = Integer.parseInt(s[0]);
- int b = Integer.parseInt(s[1]);
- int[] result = isPrime(a,b);
- for(int i=0; i<result.length; i++){
- System.out.println(result[i]);
- }
- }
-
- /*
- * 判断素数。
- */
- public static boolean isPrime(int a){
- int temp;
- temp = (int) Math.sqrt(a);
- for(int i=2; i<=temp; i++){
- if(temp%i==0){
- return false;
- }
- }
- return true;
- }
- /*
- * 求一个区域的素数。
- */
- public static int[] isPrime(int a, int b){
- int[] nums = new int[b-a];
- int pos = 0;
- for(int i=a; i<=b; i++){
- //判断素数,是?并装入
- if(isPrime(i)){
- nums[pos++] = i;
- }
- }
- return nums;
- }
- }
复制代码 |