java源码——计算大于一个数的最小素数
根据输入数字,计算大于一个数的最小素数。
话不多说,直接贴码。
package com.fuxuemingzhu.countprime.main; import java.util.Scanner; /**
* <p>
* Title: Main
* </p>
* <p>
* Description:计算大于某个输入数的最小素数
* </p>
*
* @author fuxuemingzhu
*
* @email fuxuemingzhu@163.com
*
* @date 2014年10月27日 下午4:01:41
*/
public class CountPrime { /**
* inputNum 输入的整数
*/
private static int inputNum = 0; /**
* <p>
* Title: main
* </p>
* <p>
* Description:程序的主函数,从这里进入
* </p>
*
* @param args
*/
public static void main(String[] args) {
// 给一句引导输入的引导语
System.out.println("请输入需要计算的整数:");
// 获取键盘输入
getInput();
// 输出结果
output();
} /**
* <p>
* Title: getInput
* </p>
* <p>
* Description:获取键盘的输入结果
* </p>
*/
private static void getInput() {
// //利用Scanner 类 获取键盘操作
Scanner inputScanner = new Scanner(System.in);
inputNum = inputScanner.nextInt();
// ///关闭inputScanner
inputScanner.close();
} /**
* <p>
* Title: output
* </p>
* <p>
* Description:输出操作,同时进行了输入的判断
* </p>
*/
private static void output() {
if (checkInput(inputNum)) {
System.out.println("大于这个数的最小素数是:" + countPrime(inputNum));
} else {
System.out.println("输入错误!需要输入一个正整数!");
}
} /**
* <p>
* Title: checkInput
* </p>
* <p>
* Description:需要输入一个正整数
* </p>
*
* @param num
* @return 输入是否正确
*/
private static boolean checkInput(int num) {
if (num >= 1) {
return true;
}
return false; } /**
* <p>
* Title: countPrime
* </p>
* <p>
* Description:计算大于num的最小素数
* </p>
*
* @param num
* @return 大于num的最小素数
*/
private static int countPrime(int num) {
// ///大于这个数的最小素数
int answer = num + 1;
// 上面+1是从这个数的下一个数去判断,而不判断这个数本身是不是一个素数
while (isPrime(answer)) {
answer++;
}
return answer; } /**
* <p>
* Title: isPrime
* </p>
* <p>
* Description:判断一个数是不是素数
* </p>
*
* @param num
* @return 一个数是不是素数
*/
private static boolean isPrime(int num) {
boolean check = false;
// //计算到这个数的平方根,减少计算步骤
for (int i = 2; i <= Math.sqrt(num); i++) {
// /判断一个数整除变量i的余数是否为0,为零说明能整除,则不是素数
if (num % ((int) i) == 0) {
return true;
}
} return check; }
}
附运行截图。
java源码——计算大于一个数的最小素数的更多相关文章
- java源码——计算不同图形的周长和面积
计算任意三角形,正方形,正五边形,圆形的周长和面积. 利用类的继承实现. 将计算结果进行输出. 不多说,贴码. Contants.java 常量存储类 <pre name="code& ...
- java源码——计算立体图形的表面积和体积
计算球,圆柱,圆锥的表面积和体积. 利用接口实现. 上代码. Contants.java 常量存储类 package com.fuxuemingzhu.solidgraphics.contants; ...
- 解密随机数生成器(二)——从java源码看线性同余算法
Random Java中的Random类生成的是伪随机数,使用的是48-bit的种子,然后调用一个linear congruential formula线性同余方程(Donald Knuth的编程艺术 ...
- Java源码解读(一)——HashMap
HashMap作为常用的一种数据结构,阅读源码去了解其底层的实现是十分有必要的.在这里也分享自己阅读源码遇到的困难以及自己的思考. HashMap的源码介绍已经有许许多多的博客,这里只记录了一些我看源 ...
- 24点扑克牌游戏——(含java源码)(GUI实现)
给出四个数字,要求,在其间添加运算符和括号,使得计算结果等于24. 括号的放置即为决定哪几个数先进行计算.所以,我们先确定首先进行计算的两个相邻的数,计算完成后,就相当于剩下三个数字,仍需要在它们之间 ...
- kafka对消费者分配分区规则(Java源码)
在上一篇 kafka topic消息分配partition规则(Java源码) 我们对生产者产生的消息分配partition规则进行了分析,那么本章我们来看看消费者是怎么样分配partition的. ...
- Java源码系列2——HashMap
HashMap 的源码很多也很复杂,本文只是摘取简单常用的部分代码进行分析.能力有限,欢迎指正. HASH 值的计算 前置知识--位运算 按位异或操作符^:1^1=0, 0^0=0, 1^0=0, 值 ...
- Java 源码刨析 - HashMap 底层实现原理是什么?JDK8 做了哪些优化?
[基本结构] 在 JDK 1.7 中 HashMap 是以数组加链表的形式组成的: JDK 1.8 之后新增了红黑树的组成结构,当链表大于 8 并且容量大于 64 时,链表结构会转换成红黑树结构,它的 ...
- java源码——0~9十个数字不重复地使用使加法表达式成立
这个问题是在我写个的几个博客里较为复杂的一个.首先,先看看整个问题的表述. 星号表示0~9的一个数字,而且不允许重复,使得下面的加法表达式成立.输出所有结果. ※ ※ ※ ※ ※ + 2 ...
随机推荐
- python函数理解 json.dump()
信息来自python说明文档(https://docs.python.org/3/library/json.html) 函数功能 输出一个python对象到文件 函数声明 json.dump(obj, ...
- R包MetaboAnalystR安装指南(Linux环境非root)
前言 这是代谢组学数据分析的一个R包,包括用于代谢组学数据分析.可视化和功能注释等众多功能.最近有同事在集群中搭建蛋白和代谢流程,安装这个包出现了问题,于是我折腾了一上午. 这个包的介绍在:https ...
- mysql 中@ 和 @@的区别
@x 是 用户自定义的变量 (User variables are written as @var_name)@@x 是 global或session变量 (@@global @@session )@ ...
- 利用抖音Cookie充值接口提取支付链接,个人调起原生微信h5支付宝h5支付
最近开始搞一些个人支付通道的开发,方便个人不用和第三方平台签约就能收款,省去很多流程手续的成本. 然后翻了一下网上并没有太多现成的技术教程,只能自己研究着搞了. 这次要分享的是利用抖音的充值接口,去分 ...
- day04:Python学习笔记
day04:Python学习笔记 1.算数运算符 1.算数运算符 print(10 / 3) #结果带小数 print(10 // 3) #结果取整数,不是四舍五入 print(10 % 3) #结果 ...
- 【转载】HBase基本数据操作详解【完整版,绝对精品】
转载自: http://blog.csdn.net/u010967382/article/details/37878701 概述 对于建表,和RDBMS类似,HBase也有namespace的概念,可 ...
- k8s-hpa自动横向扩容
目录 hpa自动扩容 官方文档 HPA是什么 Horizontal Pod Autoscaler 演练 参数 案例:监控cpu,内存,每秒数据包自动扩容 度量指标 pod清单案例-pod定义cup内存 ...
- 设计和实现OLAP解决方案 [转]
第一讲 简介首先,啥叫数据仓库? 数据仓库就是数据的仓库!用外文说叫Data Warehouse,简称DW. 是不是哐当倒下一片啊,要不咱换个专业点的说法? 数据仓库是一个面向主题的.集成的.相对稳定 ...
- CentOS6+nginx+uwsgi+mysql+django1.6.6+python2.6.6
1.配置网关 #vi /etc/sysconfig/network NETWORKING=yes(表示系统是否使用网络,一般设置为yes.如果设为no,则不能使用网络,而且很多系统服务程序将无法启动) ...
- maven的lifecycle
1.maven clean. 清理项目的target目录 2.maven compile 编译项目 3.maven test 编译项目后,再执行Junit测试方法 4.maven package 编译 ...