读书人

简单的计算有关问题

发布时间: 2012-01-08 22:48:50 作者: rapoo

求助,简单的计算问题
想把100到200间的质数输出,编译时却总出错,不知怎么改,希望大家帮忙,谢谢
public class ZhiShu{

/*用for语句写出一个计算质数的方法*/
private void Jisuan(i)
{
for(int i=100;i<200;i++)
{
for(int b=2;b<i/2;b++)
{
if(i%b!=0)
continue;
else break;
}
System.out.println(i);
}
}

public static void main(String[]args){
int n=0;
ZhiShu c=new ZhiShu();
System.out.println("100到200间的质数");
c.Jisuan(n);}
}

[解决办法]
public class Test {
public static void main(String[] args) {

int i = 101;
while (i <= 200) {
int sqrtI = (int) Math.sqrt(i);
boolean flg = true;
for (int j = 2; j <= sqrtI; j++) {
if (i % j == 0){
flg = false;
break;
}
}
if(flg)
System.out.println(i);

i = i + 2;
}
}
}
[解决办法]
public class ZhiShu{

/*用for语句写出一个计算质数的方法*/
private void Jisuan()
{
for(int i=100;i <200;i++)
{
int j=(int)Math.sqrt(i);
for(int b=2;b<=j;b++)
{
if(i%b!=0)
continue;
else break;
}
System.out.println(i);
}
}

public static void main(String[]args){
ZhiShu c=new ZhiShu();
System.out.println("100到200间的质数");
c.Jisuan();
}
}
[解决办法]
private void Jisuan(i)

这个方法的声明就不对

应该为 private void Jisuan(int j)

参数不能用i ,因为你方法体里面又重新定义了i。

private 不确定有没有问题,声明成public肯定没问题

最好弄个ide ,编译的错误一目了然

另java中不成文的规定 方法名第一个字母小写!!!
[解决办法]

Java code
public class ZhiShu{      /*用for语句写出一个计算质数的方法*/   private void Jisuan() {      boolean flag;      for(int i=100;i <200;i++) {           flag = true;          for(int b=2;b <i/2;b++) {              if(i % b == 0)                  flag = false;          }           if (flag)              System.out.println(i);       }   }   public static void main(String[]args){      int n=0;       ZhiShu c=new ZhiShu();       System.out.println("100到200间的质数");       c.Jisuan();   } } 

读书人网 >J2SE开发

热点推荐