请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。例如:若输入17 5, 则应输出:19, 23, 29, 31,37.(素数:只能被1和自身整除的正整数)
public class SuShu9 {
/*
* (群硕)9. 请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:
* 将大于整数m且紧靠m的k个素数存入数组xx传回。例如:若输入17 5, 则应输出:19, 23, 29, 31,
* 37.(素数:只能被1和自身整除的正整数)
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入一个整数:");
int num = sc.nextInt();
System.out.println("输入紧靠" + num + "有几个素数:");
int n = sc.nextInt();
int[] re = new int[n];
int[] output = jsValues(num, n, re);
System.out.println(n + "个素数为:");
for (int i = 0; i < output.length; i++) {
System.out.print(output[i] + " ");
}
}
private static int[] jsValues(int m, int k, int xx[]) {
int[] in = new int[k];
int i = 0;
int j = 0;
while (true) {
m++;// 整数自增,
if (judge(m) == 1) {// 判断返回值是1时为素数
in[i] = m;// 将自增的素数放入数组
i++;// 数组下标自增1
}
if (i == k) {
break;// 当数组下标自增到5时,退出循环,程序结束
}
}
return in;
}
public static int judge(int m) {
// 判断素数,从2开始判断能否被自身整除,当能被自身整除时返回0,不能时这说明是素数,此时返回1
for (int i = 2; i < m; i++) {
if (m % i == 0)
return 0;
}
return 1;
}
}