根据输入数字,计算大于一个数的最小素数。

话不多说,直接贴码。

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源码——计算大于一个数的最小素数的更多相关文章

  1. java源码——计算不同图形的周长和面积

    计算任意三角形,正方形,正五边形,圆形的周长和面积. 利用类的继承实现. 将计算结果进行输出. 不多说,贴码. Contants.java 常量存储类 <pre name="code& ...

  2. java源码——计算立体图形的表面积和体积

    计算球,圆柱,圆锥的表面积和体积. 利用接口实现. 上代码. Contants.java 常量存储类 package com.fuxuemingzhu.solidgraphics.contants; ...

  3. 解密随机数生成器(二)——从java源码看线性同余算法

    Random Java中的Random类生成的是伪随机数,使用的是48-bit的种子,然后调用一个linear congruential formula线性同余方程(Donald Knuth的编程艺术 ...

  4. Java源码解读(一)——HashMap

    HashMap作为常用的一种数据结构,阅读源码去了解其底层的实现是十分有必要的.在这里也分享自己阅读源码遇到的困难以及自己的思考. HashMap的源码介绍已经有许许多多的博客,这里只记录了一些我看源 ...

  5. 24点扑克牌游戏——(含java源码)(GUI实现)

    给出四个数字,要求,在其间添加运算符和括号,使得计算结果等于24. 括号的放置即为决定哪几个数先进行计算.所以,我们先确定首先进行计算的两个相邻的数,计算完成后,就相当于剩下三个数字,仍需要在它们之间 ...

  6. kafka对消费者分配分区规则(Java源码)

    在上一篇 kafka topic消息分配partition规则(Java源码) 我们对生产者产生的消息分配partition规则进行了分析,那么本章我们来看看消费者是怎么样分配partition的. ...

  7. Java源码系列2——HashMap

    HashMap 的源码很多也很复杂,本文只是摘取简单常用的部分代码进行分析.能力有限,欢迎指正. HASH 值的计算 前置知识--位运算 按位异或操作符^:1^1=0, 0^0=0, 1^0=0, 值 ...

  8. Java 源码刨析 - HashMap 底层实现原理是什么?JDK8 做了哪些优化?

    [基本结构] 在 JDK 1.7 中 HashMap 是以数组加链表的形式组成的: JDK 1.8 之后新增了红黑树的组成结构,当链表大于 8 并且容量大于 64 时,链表结构会转换成红黑树结构,它的 ...

  9. java源码——0~9十个数字不重复地使用使加法表达式成立

    这个问题是在我写个的几个博客里较为复杂的一个.首先,先看看整个问题的表述. 星号表示0~9的一个数字,而且不允许重复,使得下面的加法表达式成立.输出所有结果. ※ ※ ※ ※ ※    +  2   ...

随机推荐

  1. 【宏组学】如何根据taxid(或taxname)快速获得taxname(或taxid)?

    需求 我有一个物种taxonomy ID的list,想获得相应的物种名,不要一个个去NCBI Taxonomy官网查.反之根据物种名list查询对应的taxid. 实现 因为之前没怎么用过,我的第一个 ...

  2. go定义接口以及类怎么使用接口

    go定义接口以及类怎么使用接口 多态是指代码可以根据类型的具体实现采取不同行为的能力.如果一个类型实现了某个接口,所有使用这个接口的地方,都可以支持这种类型的值. 接口是用来定义行为的类型.这些被定义 ...

  3. EXCEL-批量修改列宽

    WPS:先用鼠标选中一列,然后,长按ctrl键并且用鼠标选中剩余想要统一列宽的列,松开ctrl键,鼠标落在刚选中的任意一列的抬头上,鼠标右键,选择列宽,设置统一列宽即可.

  4. 修改Ubuntu中locale转中文为英文

    修改Ubuntu 的命令行为英文版  编辑 /etc/default/locale 文件 原来的配置为: LANG="zh_CN.UTF-8″ LANGUAGE="zh_CN:&q ...

  5. TD课程通最终版本体验

    功能上,新版本增加了学校教室的上课情况,有无课程可以清楚查询,如下图: 在添加课程的设置上有改进,相比于之前编辑课程后不能保存,新版本在可保存的基础上又增加了登陆教务系统的功能,学生使用更加方便快捷, ...

  6. abandon, abbreviation

    abandon 近/反义词: continue, depart, desert (做动词时读作diˈzəːt), discard, give up, quit, surrender搭配: altoge ...

  7. 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(四)-介绍库函数,获取一些SD卡的信息

    其他链接 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 ...

  8. Oracle—全局变量

    Oracle全局变量 一.数据库程序包全局变量       在程序实现过程中,经常用遇到一些全局变量或常数.在程序开发过程中,往往会将该变量或常数存储于临时表或前台程序的全局变量中,由此带来运行效率降 ...

  9. 【排序算法】——冒泡排序、选择排序、插入排序、Shell排序等排序原理及Java实现

    排序 1.定义: 所谓排序,即是整理文件中的内容,使其按照关键字递增或递减的顺序进行排列. 输入:n个记录,n1,n2--,其对应1的关键字为k1,k2-- 输出:n(i1),n(i2)--,使得k( ...

  10. Android Https相关完全解析

    转载: 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/48129405: 本文出自:[张鸿洋的博客] 一.概述 其实这篇文章理论 ...