【视频+图文】Java基础经典练习题(一)输出2-10…
2020-03-18 09:20:41来源:博客园 阅读 ()
【视频+图文】Java基础经典练习题(一)输出2-100之间的素数,及素数个数
目录
- 第一题:判断2-100之间有多少个素数,并输出所有素数。
- 1.视频讲解:
- 2.思路分析:
- 代码讲解:以i=4为例
- 4.为大家准备了彩蛋:
能解决题目的代码并不是一次就可以写好的
我们需要根据我们的思路写出后通过debug模式找到不足再进行更改
多次测试后才可得到能解决题目的代码!
通过学习,练习【Java基础经典练习题】,让我们一起来培养这种解决问题思路。
第一题:判断2-100之间有多少个素数,并输出所有素数。
1.视频讲解:
求2-100之间素数思路
求2-100之间素数代码详解
2.思路分析:
Q1:什么是素数?
A1: 素数(质数)指的是在大于1的自然数中除了1和该数本身外,无法被其它自然数整除的数。(也就是说一个数只有1和它本身两个因数)
Q2:如何判断一个数有除了1和该数本身之外的因数?
A2:让我们以4为例来分析:
- 判断4能否整除一个数,无非只有以下4种情况:
情况1:4/1
情况2:4/2
情况3:4/3
情况4:4/4 - 那么我们又知道:每个数都有1 和 它本身这两个因数(即每个数都可以被1和它本身整除)
所以呢我们在【判断4能否整除一个数】就只需要考虑以下这两种情况:
情况2:4/2
情况3:4/3 由此我们可以总结出来规律:
判断一个数是否有其它因数,就让这个数去除[2-(需判断的数-1)]这个范围内的数。
如判断4就只需看:4/2、4/3看这两种情况中是否有整除情况发生:
若有则说明此数不为素数,就进行下一次判断
若没有说明此数为素数,需输出此数,并让保存【素数个数的变量】加1后再进行下一次判断。3.代码+详解+答案:
package Exercise;
public class SuShu1 {
public static void main(String[] args) {
int i = 0;
int j = 0;
int count = 0;//储存2-100之间的素数个数
boolean flag = true;
//用处:在当一个数有【除1和它本身之外的因数】时,使其值变为false,以便进入下一次循环
for (i = 2; i <= 100; i++) {//从2-100开始进行循环
flag = true;
//每完成一次for循环需要把flag值重新置为true,否则将会影响下次的循环
for (j = 2; j < i; j++) {
//用此for循环的数字来判断i是否有【除1和它本身之外的因数】
if (i % j == 0) {//如果i%j==0,说明i有【除1和它本身之外的因数】
flag = false;//这时让flag = false;
break;//并退出这个双重for循环
}
}
if (flag == true) {
//从双重for循环退出后,判断flag的值是否是true,若为true则说明此数为素数
count++;//存储素数的总和加1
System.out.println("从2-100之间的素数有:" + i);//输出素数结果
}
}
System.out.println("从2-100之间的素数个数有:" +count);//输出素数总个数
}
}
代码讲解:以i=4为例
- i=4 4<100
- flag = true
- j=2 ,2<4
- 因为i%j == 0(即4%2 == 0)所以flag = false。并执行break语句。
- 执行break语句后就退出第二个for循环。(执行break语句后,break语句后面的代码不会执行并且会终止本层循环)
- 因为现在的flag ==false不满足if(flag == true)条件
- 所以i++ i=5,进入下一次的判断
结果:
4.为大家准备了彩蛋:
原文链接:https://www.cnblogs.com/Qpgshare/p/12516390.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Spring学习之路1
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash