十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
已经发送
成都创新互联专注于兰西企业网站建设,响应式网站建设,商城网站建设。兰西网站建设公司,为兰西等地区提供建站服务。全流程定制开发,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
import java.util.Scanner;
public class PrimeNumber {
public static void main(String[] args) {
System.out.println("input numbers:");
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int flag = 1;
for (int i = 2; i (num / 2); i++) {
if (num % i != 0) {
flag = 1;
} else {
flag = 0;
}
}
if (flag == 1) {
System.out.println(num + "是质素!!");
} else {
System.out.println(num + "不是质素!!");
}
}
}
运用java8新特性stream来解决
参考以下代码
/**
* IntStream.range(1,10001) :获取一个stream,是从1-10000的
* filter: 取出stream每个数字进行过滤,比如选取数字300,则再构造一个stream,从2-299,依次用300取余2-299中的数,若有一个是整除,余数为0的话,这个数字就不是我们要找的质数,跳过
* forEach:打印经过filter过滤后的stream中的每个数
*/
IntStream.range(1,10001).filter(outerInt- !IntStream.range(2,outerInt).anyMatch(innerInt-outerInt%innerInt==0))
.forEach(System.out::println);
求1-N以内的所有素数,实现思路如下:
1、 得到1到n之间的素数,存到一个ArrayList集合。
2、判断一个数是不是素数:只能被1和本身整除
说明:从2开始除,不需要到n,也就是循环条件是 n 就可以,这之间只要被整除了,那么他就不是素数了。
3、设置主函数,运行 getPrimeNumberToN获取限定范围内的素数。
执行结果图:
扩展资料:
实现功能的编程事项:
1、模块化思想。
先拆分需求,先拆分先考虑怎么确定一个数是不是素数,然后再复用到所有。不能把方法堆到一起,否则无法复用代码。
2、注意注释。
就算是自己的测试代码,尽量写清楚注释,这样即使过了三个月,再看代码,也能清晰明了。不要觉得简单,就懒得注释。
3、注意参数命名。
从类名到方法名,再到变量名,都不能随意取名,关于这个命名,不要嫌弃长,重点是意思清楚明白。见名知意(语义化),是最好的。
其实有两处错误,楼上只看到一处
for(i=2;i=n;i++);
这里多了一个分号,使得循环变成空的了,应该改为
for(i=2;i=n;i++)
而且,寻找质数的时候不能除以自己求余数,所以
for(n=201;n=300;n++)
应该改为
for(n=201;n300;n++)
正确程序如下:
import java.io.*;
public class Mathss
{
public static void main(String args[])
{
System.out.println("输出201到300之间的全部质数");
int n,i;
for(n=201;n=300;n++)
{
for(i=2;in;i++)
{
if(n%i ==0)
break;
}
if (i ==n)
System.out.println (n);
}
}
}
参考代码如下:
package test;
public class Test {
public static void main(String[] args) {
int j;
for (int i = 2; i = 100; i++) // 1不是素数,所以直接从2开始循环
{
j = 2;
while (i % j != 0)
j++; // 测试2至i的数字是否能被i整除,如不能就自加
if (j == i) // 当有被整除的数字时,判断它是不是自身
System.out.println(i); // 如果是就打印出数字
}
}
}
扩展资料:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数;否则称为合数。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。