这个求质数的代码,怎么计数呢?

carl-zhao
博客专家认证
2014-06-02 02:31:55
public class Prime
{
public static void main(String[] args)
{
for(int i = 2;i <= 100;i++)
{
int compareNum = (int) Math.sqrt(i);
boolean isPrime = true;
for(int j = 2;j <= compareNum;j++)
{
if(i % j == 0)
{
isPrime = false;
break;
}
}
if(isPrime)
{
System.out.print(i + " ");
}
}
}
}
...全文
160 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
-江沐风- 2014-06-02
  • 打赏
  • 举报
回复
引用 5 楼 u012410733 的回复:
仔细点就好了;
carl-zhao 2014-06-02
  • 打赏
  • 举报
回复
引用 4 楼 u012724379 的回复:
public class Prime
{
	public static void main(String[] args)
	{
		int total = 0;
		for (int i = 2; i <= 100; i++)
		{
			int compareNum = (int) Math.sqrt(i);
			boolean isPrime = true;
			for (int j = 2; j <= compareNum; j++)
			{
				if (i % j == 0)
				{
					isPrime = false;
					break;
				}
			}
			if (isPrime)
			{
				System.out.print(i + " ");
				total ++;
			}
		}
		System.out.println("\n"+total);
	}
}
我真是太笨 了。这前一直把total这个变量加在for循环那层。没有想到去加到外层。
-江沐风- 2014-06-02
  • 打赏
  • 举报
回复
public class Prime
{
	public static void main(String[] args)
	{
		int total = 0;
		for (int i = 2; i <= 100; i++)
		{
			int compareNum = (int) Math.sqrt(i);
			boolean isPrime = true;
			for (int j = 2; j <= compareNum; j++)
			{
				if (i % j == 0)
				{
					isPrime = false;
					break;
				}
			}
			if (isPrime)
			{
				System.out.print(i + " ");
				total ++;
			}
		}
		System.out.println("\n"+total);
	}
}
carl-zhao 2014-06-02
  • 打赏
  • 举报
回复
引用 1 楼 vnvlyp 的回复:
加一个变量计数?有那么难吗。。
我想计数有多少个质数,在外面加个总变量int total = 0; 然后在 if(isPrime)后面total++.这个total一直是0.不会改变。我就是想使这个total为质数的个数。
二萌无双 2014-06-02
  • 打赏
  • 举报
回复
没看懂楼主所谓的怎么计数是什么意思。。。 代码会输出100以内的质数 外层循环用来循环遍历100以内的数 内层循环用来判断是否能被整数整除 找到一个输出一个
vnvlyp 2014-06-02
  • 打赏
  • 举报
回复
加一个变量计数?有那么难吗。。

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧