参考代码如下:
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语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
//求100以内的素数
//这是求100以内的素数的最完善的方法
//因为1不是所以直接从2开始,双层循环加判断,2能出来的原因是第一次循环第二个for循环不满足
//所以直接执行下面的输出语句,当大于2的时候就可以正常判断了,用boolean何种方式判断最好,用别的方法
//很容易丢掉2,网上暂且没有找不用这种Boolean判断的方法不丢2的
//j<=i/2是因为大于他本身的一半的时候更不可能被大于他本身一半的数整除没有判断的必要。
public class TestSu {
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和它本身整除的数,那么对于某一个数a,可以试着让它除以a-1......2,如果有任意一次除法的余数为零,这个数a就不是质数。
程序中可以写成for循环的形式:
for(int i = 2; i < 100; i++) {
for (int j = i-1; j > 1; j--) {
if (i % j == 0) {
System.out.println("数字" + i + "不是质数");
break;
}
}
}
这样,不是质数的数字就会打印出来了,至于质数,可以使用boolean的标志位去判断,还是自己想办法吧。
上述代码未经测试,请自己进行。
public class TestSu {
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); //如果是就打印出数字
}
}
}
}