本文共 181 个字数,平均阅读时长 ≈ 1分钟
练习题目
从键盘输入一个数(大于3),计算这个数值以内的所有素数(质数)
质数:只能被1和它本身整除的自然数。比如2,3,5,7,11,13,17,19,23...
code代码
import java.util.Scanner;
/*
循环练习:从键盘输入一个数(大于3),计算这个数值以内的所有素数(质数)
质数:只能被1和它本身整除的自然数。比如2,3,5,7,11,13,17,19,23...
*/
public class PrimeNumTest {
public static void main(String[] args) {
//定义键盘输入的数变量
int input;
//获取键盘输入的数据
Scanner scanner = new Scanner(System.in);
input = scanner.nextInt();
//先输入2和3为质数
System.out.print(input + "以内的质数有:");
//计算素数
//判断是否是质数
boolean flag = true;
for (int i = 2; i <= input; i++) {
//为什么使用j=i/2+1,如果i不是质数,则至少有两个约数大于等于2与小于等于i/2之间,例如12,有2 6 3 4,15有3 5
// for(int j = i - 1;j > 1;j--) {
for (int j = i / 2; j > 1; j--) {
if (i % j == 0) {
flag = false;
}
}
if (flag) {
System.out.print(" " + i);
}
//重置flag
flag = true;
}
//关闭scanner资源
scanner.close();
}
}
评论 (0)