程序填空,不要删除原有的输入输出有关的语句。 偷入一个正整数repeat (O<repeat<10),做repeat次下列运算: 读入一批数据(数据个数=1),以输入999表示输入结束,统计这批数据中的素数个数,并求其最小值进行输出(999只表示输入结束,不在统计范围内) 输入格式: n=in.nextInt(); 例:括号内是说明 输入 324 433 451 31 324 -123 -2 41 999 输出 :素数个数=3最小值=-123
时间: 2023-08-17 21:05:10 浏览: 97
可以使用以下 Java 代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int repeat = in.nextInt();
int primeCount = 0; // 记录素数个数
int minPrime = Integer.MAX_VALUE; // 记录最小素数,默认值为 Integer.MAX_VALUE
for (int i = 0; i < repeat; i++) {
int n;
while ((n = in.nextInt()) != 999) { // 读入一批数据,以 999 结束
if (isPrime(n)) { // 如果是素数,素数个数加 1,更新最小素数
primeCount++;
minPrime = Math.min(minPrime, n);
}
}
}
System.out.println("素数个数=" + primeCount + "最小值=" + minPrime);
}
// 判断一个数是否为素数
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
```
该程序先读入一个数 repeat 表示要进行的运算次数,然后进行 repeat 次运算。每次运算读入一批数据,以输入 999 表示输入结束,统计这批数据中的素数个数,并求其最小值进行输出。其中,isPrime() 方法判断一个数是否为素数。
阅读全文