【发布时间】:2020-04-07 17:39:00
【问题描述】:
我正在尝试实现一个代码来检查给定的数字数组是否为素数,
但当数字不是素数时,输出显示“素数”和“非素数”两个答案。我在这里犯了什么错误,很高兴得到你的回答?提前谢谢!
这是我的代码。
Scanner scan = new Scanner(System.in);
int number = scan.nextInt();
int[] arr = new int[number];
for (int i = 0; i < number; i++) {
arr[i] = scan.nextInt();
}
for (int i = 0; i < number; i++) {
int num = arr[i];
for (int j = 2; j <= Math.sqrt(num); j++) {
if (num % j == 0 && num !=2) {
System.out.println(num + "Not prime");
break;
}
}
System.out.println(num +"Prime");
}
【问题讨论】: