各位大侠帮帮忙!java程序,没有语法错误,编译通过,但结果不对

要求前一百个素数程序是用JAVA写的,没有语法问题,编译通过,就是结果不是要求的结果结果是:-2147483647-2147483645-2147483643-21474... 要求前一百个素数

程序是用JAVA写的,没有语法问题,编译通过,就是结果不是要求的结果
结果是:
-2147483647
-2147483645
-2147483643
-2147483641
-2147483639
-2147483637
-2147483635
-2147483633
-2147483631
-2147483629
-2147483627
-2147483625
-2147483623
-2147483621
-2147483619
-2147483617
-2147483615
-2147483613
-2147483611
-2147483609
-2147483607
-2147483605
-2147483603
-2147483601
-2147483599
-2147483597
-2147483595
-2147483593
-2147483591
-2147483589
-2147483587
-2147483585
-2147483583
-2147483581
-2147483579
-2147483577
-2147483575
-2147483573
-2147483571
-2147483569
-2147483567
-2147483565
-2147483563
-2147483561
-2147483559
-2147483557
-2147483555
-2147483553
-2147483551
-2147483549
-2147483547
-2147483545
-2147483543
-2147483541
-2147483539
-2147483537
-2147483535
-2147483533
-2147483531
-2147483529
-2147483527
-2147483525
-2147483523
-2147483521
-2147483519
-2147483517
-2147483515
-2147483513
-2147483511
-2147483509
-2147483507
-2147483505
-2147483503
-2147483501
-2147483499
-2147483497
-2147483495
-2147483493
-2147483491
-2147483489
-2147483487
-2147483485
-2147483483
-2147483481
-2147483479
-2147483477
-2147483475
-2147483473
-2147483471
-2147483469
-2147483467
-2147483465
-2147483463
-2147483461
-2147483459
-2147483457
-2147483455
-2147483453
-2147483451
-2147483449
-2147483447

我的代码是:
public class Prime
{
public static int j=0;
public static void printPrimes(int k)
{
for(int i=2;i!=0;i++)
{
if(isPrime(i))
{
j+=1;
System.out.println(i);
}
if(j>k)
break;
else
continue;
}
}

public static boolean isPrime(int a)
{
if (a%2==0)
{
return false;
}
else
{
for (int p=1;p<a;p++ )
{
if(a%p==0)
return false;
}
return true;
}

}

public static void main(String[] args)
{
printPrimes(100);
}
}
展开
 我来答
lyw985
2009-09-24 · TA获得超过1401个赞
知道小有建树答主
回答量:1560
采纳率:100%
帮助的人:351万
展开全部
废话!!

public static void printPrimes(int k) {
for (int i = 2; i <= k; i++) {
if (isPrime(i)) {
System.out.println(i);
}
}
}

public static boolean isPrime(int a) {
if (a % 2 == 0) {
return false;
} else {
for (int p = 3; p < a; p++) {//修改后的
if (a % p == 0)
return false;
}
return true;
}

}

public static void main(String[] args) {
printPrimes(100);
}
psychic0111
2009-09-24 · TA获得超过999个赞
知道小有建树答主
回答量:463
采纳率:100%
帮助的人:220万
展开全部
判断一个数是不是素数,要排除了1和它本身
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式