java学习日记-基础-列出2~100内的素数
素数的概念:一个整数如果只能整除1和它本身,那么这个整数就是一个素数
方法一:素数是除去能被2整除、3整除、5整除、7整除的整数,但包含2,3,5,7
public class Sushu { public static void main(String[]args){ String str="2 3 5 7 "; for(int i=2;i<=100;i++){ if(i%2==0||i%3==0||i%5==0||i%7==0 ){ //;逻辑判断,筛选 continue; //继续下一次循环 } else { str+=i+" "; //筛选出需要的素数(不包含2 3 5 7 ) } } System.out.println("2~100内的素数是:"+str); } }
方法二:通过boolean筛选来判断素数
调用方法:如果一个整数数的不能整除2到这个数开平方区间的整数,那么这个数就是一个素数
public class Sushu { public static boolean isPrime(int num) { //定义判断素数的方法isPrime() for(int i = 2; i <= Math.sqrt(num); i++) { //程序默认2是素数,当j=2时,循环不执行 if(num % i == 0) { //Math.sqrt(num) 对num开平方 return false; } } return true; } public static void main(String[] args) { //主方法 for(int j = 2; j <= 100; j++) { if(Sushu.isPrime(j)) { //调用isPrime()方法,注意调用方法的格式 System.out.println(j + " is a prime"); } } } }
方法三:更常规的算法for循环
public class Demo07 { public static void main(String[] args) { boolean isPrint = false; for (int k = 2; k <= 100; k++) { isPrint = true;//--布尔类型的变量通常以is开头。 for (int l = 2; l < k; l++) { if(k % l == 0){//能否断定k就一定是素数。 isPrint = false; break; //跳出当前循环 } } if(isPrint){ System.out.println(k); } } } }
这段代码我是大写的服!
写一个程序的过程: 需求: 问题是什么,想要实现什么? (面向对象)
分析: 要实现问题的解决要分几个步骤,每步之间的关系(有点面向过程的味道)
实现: 如何通过方法实现
代码体现: 代码精炼、逻辑感强、加注释、易维护
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述