求101~200 之间的质数及其个数

求101~200 之间的质数及其个数

最近学java基础,学到循环这节,碰到了这题,感觉挺简单的,但实际编写时,发现自己眼高手低了。
下面是我刚开始编写的代码。
public class prime {

    public static void main(String[] args) {

        int sum = 0;
        boolean t = true;

        for (int i = 101; i < 200; i++) {

            for (int j = 2; j < i / 2; j++) {
                if (i % j == 0) {
                    t = false;
                    break;
                } 
                        **(1)**
            }

            if (t == true) {
                System.out.println(i);
                sum++;
            }
        }

        System.out.println("101~200之间质数的个数为  :" + sum);
    }
}

可能大部分人,一眼就看出了我的错误地方。(让大家见笑啦,==,菜鸟的我还要努力啊)

运行后,发现结果只输出了101这一个质数,我当时就很纳闷,其它的怎么就没显示呢,于是重新考虑了循环语句,突然发现了一个细节问题, 当循环到i=102时,由于102%2==0为真了,t=false,并退出了循环,而此后t一直为false,故永远不可能执行t==true为真时的语句
所以结果也自然只会输出101这个质数。

发现了这一错误 ,便在 (1)处加了 t=true; 这个语句,运行成功,但对我来说,让我高兴的不是成功得到这一个程序的结果,而是我学会了遇到问题,首先理清思绪,找到解决问题的方法!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值