黑马程序员技术交流社区
标题:
哈尔滨校区----基础班第四天---求素数。
[打印本页]
作者:
cm181363682
时间:
2015-11-23 23:06
标题:
哈尔滨校区----基础班第四天---求素数。
今天是Java基础班的第四天,我们学习了for 和while循环,以及break continue。
今天老师提的问题是计算100以内的素数。
虽然老师已经讲了他的程序,而且也很简洁,但我还是想把我的思路发上来给大家看一看。
思路: 多层嵌套---对循环取余----刨除1和本身 --用continue ---其它取余等于0则break
class Demo_SuShu {
public static void main(String[] args) {
int count = 0;
for (int i = 1;i <= 100 ;i++ ) {
a : {
for (int j =1;j <= i ;j++ ) {
if (i == 1) {//如果数是1 结束循环a 不输出语句和计算count
break a;
}
if (j == 1 || j == i) {//如果除以的是1或者本身 终止本次循环,继续下次循环
continue;
}
if (i%j == 0) {//如果能被其它的数整除 结束循环a 不输出语句和计算count
break a;
}
}
count ++;//内循环不满足 则说明为素数 输出下面语句 并且count加1
System.out.print(i + "\t");
}
}
System.out.println("共" + count + "个");
}
}
我的思路是对所有都计算,然后刨除1,再刨除除以的是1或者本身,再刨除能被0整除的。
但是continue语句不熟练,最后用的break跳出循环,导致了只能在内层循环和输出语句外面加一对{}来实现。
感觉比较笨重,但是思路还是很清晰的。适合刚刚接触的新手。
作者:
taitoukankan
时间:
2015-11-23 23:59
写的不错,继续努力啊!
作者:
王大可
时间:
2015-11-24 00:26
作者:
洋葱头头
时间:
2015-11-24 15:36
不需要这么复杂把.....
作者:
cm181363682
时间:
2015-12-4 22:52
洋葱头头 发表于 2015-11-24 15:36
不需要这么复杂把.....
嗯,是啊。现在回头看看其实好多步骤可以简化的。不断进步嘛,哈哈
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2