java问题输出100到200之间的素数

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

boolean b = true;
for (int i = 101; i <200; i++)
{
for (int j = 2; j <i; j++)
{
if (i % j==0)
{
b = false;
break;
}
}

}
if (b)
{
System.out.println(i);
}

}
}

这个输不出 i 啊

/**
 * 求素数:素数是指除了1和自身外不能被任何数整除的数
 * 
 * @author young
 *
 */
public class SUShu {
public static void main(String[] args) {
int i = 1, j = 2;
for (i = 100; i <= 200; i++) {
for (j = 2; j <= i; j++) {
if (i % j == 0) {
break;

}
if (i == j) {
System.out.println(i + "是素数");
}
}
}
}

追问

我是想问我写的错在哪

追答

程序的逻辑就不对, 你的后面的if判断应该写在外层的for循环里面

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-12
public class PrimeNumber {
public static void main(String[] args) {
int numOfPrime = 0;
for (int n = 100; n <= 200; n++) {
// 判断n是否是素数
int m = (int) Math.sqrt(n);
int i = 2;
for (; i <= m; i++) {
if (n % i == 0)
break;
}
if (i > m) {
System.out.print(n + " ");
if (++numOfPrime % 10 == 0)
System.out.println();
}
}
System.out.println("\n共有" + numOfPrime + "个素数");
}
}追问

我想问我写的错在哪

轻便写一个java程序,计算出100—200之间的全部素数并打印出来
public static void main(String[] args) { System.out.print("素数有:");for(int j= 100;j<=200;j++){ if(Prime(j)){ System.out.print(j+" ");} } } } 输出的结果是:素数有:101 103 107 109 113 121 127 131 137 139 149 151 157 163 167 169 ...

java:判断101到200之间有多少个素数,并输出所有素数。
public class Test {public static final void main(String[] args) {\/\/ 记录素数个数\/\/ 素数概念:除了1和它本身以外不再有其他的除数整除int num = 0;for (int i = 101; i < 201; i++) {for (int k = 2; k < i; k++) {int remainder = i % k;if (k == i - 1) {++...

java语言编程输出100到200之间的素数
\/ param args \/ public static void main(String[] args) { \/\/ TODO Auto-generated method stub System.out.println("100到200之间的素数有:" );int i, j;for (i = 100; i <= 200; i++) { for (j = 2; j < i; j++) { if (i % j == 0)break;} if (i == j)Sys...

编写Java程序,输出100到200之间的所有素数
public static void main(String[] args) { int primeNumber = 0; for(int i = 100 ;i <= 200;i++){ boolean isPrime=true;\/\/是否是质数的标志 for(int j=i-1;j>1;j--){\/\/n除以每个比n小比1大的自然数 if(i%j==0){\/\/如果有能被整除的,则不是质数 isPr...

编写java程序,输出100到200之间的所有素数
public static void ss(int a) { int i, j;boolean flg = false;for (i = 100; i <= a; i++) { for (j = 2; j < i; j++) { if (i % j == 0) { flg = true;} } if (!flg) { System.out.println(i + "是质数");} flg = false;} } public static void ...

用JAVA 判断101-200之间有多少个素数,并输出所有素数? 第二个for语句...
public class kt { public static void main(String[] args){ int count = 0; for(int i=101; i<200; i+=2){ \/\/从101循环到200的奇数(>2的偶数不是素数) int j=2; for(; j<=i\/2+1; j++){ \/\/从2循环到i\/2+1(因为比i\/2大的数不可能整除i) if(i...

JAVA求素数问题,输出101到200之间的所有素数,这个我会,但是题目改成...
public static void main(String[] args) { System.out.println("101到201间有"+count(101,200)+"个素数!【包括101和200】");} public static int count(int low,int hight){ int sum=0;for(int i=low;i<=hight;i++){ if(test(i)){ ++sum;} } return sum;} public static ...

输入100-200之间的所有素数,并统计个数 ,按每一个素数一行的格式输出...
include "stdio.h"include "math.h"void main(){ int x,y,num=0;for(x=100;x<=200;x++){ for(y=2;y<=sqrt(x);y++)if(x%y==0)break;if(y>sqrt(x)){ printf("%d\\n",x);num++;} } printf("100-200之间的素数有%d个!\\n",num);} ...

java编写一个程序打印1-200内的素数
200内的素数是200内的一个数除以他的一半以内的数(100以内)后,看是否能被整除。所以:for(i=2;i<=j\/2;i++){ if(j%i==0) \/\/不是质数,跳出 break;} if(i>j\/2){ System.out.println(j); \/\/i>j\/2表示100内已经没有该数的约数了,100——200之间一定没有约数,不检验。然后...

java 求100-200间的所有素数
=== \/\/for循环 100-200间的所有素数(质数)public class ForExec1是质数{ public static void main(String[] args){ System.out.println("100-200间的所有素数(质数):");for(int i = 100;i<=200;i++){ if(isZhiShu(i)){\/\/调用isZhiShu(int number)方法,返回true,进行打印操作。Sys...

相似回答