java从键盘上输出一个正整数n_从键盘输入一个大于3的正整数n,输出3到n间所有的素数用Java编写...

这是一个Java程序,用于从用户输入的大于3的整数开始,计算并打印3到该数之间的所有素数。程序通过两个嵌套循环来判断素数,外层循环遍历指定范围,内层循环检查是否能被较小的数整除。如果不能被1和本身以外的数整除,则判断为素数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最佳答案

import ;

public class Test {    public static void main(String[] args) {

Scanner scanner = new Scanner();

("请输入大于3的整数:");

int n = ();

if(n > 3) {

ln("3-" + n + "之间的素数是:");

calPrime(n);

}else {

ln("输入有误,请输入大于3的整数!");

}

();

}

static void calPrime(int number) {

//判断素数的标记,1为是素数

int flag = 1;

for(int i = 3; i <= number; i++) {

for(int j = 2; j < (i); j++) {

//如果能被1和本身以外的数整除,则不是素数

if(i%j == 0) {

flag = 0;

break;

}

}

if(flag == 1) {

ln(i);

}

flag = 1;

}

}

}

其他答案

import ;

import ;

public class Test {

private static final Scanner scan = new Scanner();

public static void main(String[] args) {

ln("请输入一个正整数:");

try {

int in = ();

if(in < 4) {

ln("小于3");

}

for(int i=4;i

if(isPrime(i)) {

(i+",");

}

}

}catch(InputMi***atchException e) {

ln("输入错误!退出程序");

(0);

}

}

public static boolean isPrime(int num) {

if (num <= 3) {

ret***n num > 1;

}

// 不在6的倍数两侧的一定不是质数

if (num % 6 != 1 && num % 6 != 5) {

ret***n false;

}

int sqrt = (int) (num);

for (int i = 5; i <= sqrt; i += 6) {

if (num % i == 0 || num % (i + 2) == 0) {

ret***n false;

}

}

ret***n true;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值