日期:2014-05-20  浏览次数:20701 次

for语句求素数,菜鸟问题
public class PrimeFor
{
  public static void main(String args [])
  {
  for(int i = 100;i >= 100 && i <= 200;i ++ )
  {
  boolean b = false;
  for(int j = 2;j < i - 1;j ++)
  {
  int k =i % j;
  if(k == 0)
  {
  b = true;
  }
  }  
  if(!b)
  {
  System.out.println(i);
  }
   
  }
  }
布尔b那一块看不太懂,我这样认为对吗,求解,拜谢
第一个 b 设为 false,作用在于声明 b 为 boolean,第二个b才是关键,作用为筛分质数和素数,第三个 b 是相对第二个 b 说的,筛分过程如下
if(b) 则输出 质数,这里也可以写成 if(b == true) 或者 if(b != false)
if(!b) 则输出 素数,这里也可以写成 if(b == false) 或者 if(b != true)

------解决方案--------------------
可以这么理解
------解决方案--------------------
对,b就是b==true的简写方式(!b就是b==false的简写方式),如果前期看不习惯你可以全部改为第二种写法,慢慢的自然就习惯了。
------解决方案--------------------
你理解的是对的。

但是感觉你现在理解程序,感觉很生硬。

你要记住,程序是活的。

多写,多思考。就会好了。
------解决方案--------------------
对的
但是感觉你现在理解程序,感觉很生硬。

你要记住,程序是活的。

多写,多思考。就会好了。
------解决方案--------------------
多试试效果就知道了 写法很多,一个for也能很简单做 这样麻烦了点
------解决方案--------------------
多练习,就会明白的。
------解决方案--------------------
很不对