【Java学习之代码学习】 Prog09_整数分解因式
每颗珍珠原本都是一粒沙子,但并不是每粒沙子都能成为珍珠。你得明白,想要卓尔不群,就要有技惊四座的资本;想要一呼百应,就要有海纳百川的心胸。忍受不了磨炼与挫折,承受不住忽视和平淡,就很难达到你所期望的辉煌。人生,原本就应该在阳光下灿烂,在风雨中奔跑。从今天开始,找到最好的自己,奔向更好的未来!早安!
█ Java问题:
每日一题:题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n不等于k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
█ 代码贴图:
########################################################
########################################################
########################################################
########################################################
import java.util.Scanner;/*** 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 * 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:* (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。* (2)如果n不等于k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。* (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。* * Date 11.15**/
public class Prog9整数分解因式 {public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (true) {
System.out.println("请输入一个整数:(输入exit退出 )");
if (in.hasNextInt()) {
decompose(in.nextInt());
} else if ("exit".equals(in.next())) {
System.out.println("退出成功~");
break;
}
}
in.close();
}private static void decompose(int n) {
//必须是大于2的整数
if (n < 2) {
System.out.print("请输入一个大于2的整数,");
return;
}//如果是素数直接输出
if (isPrime(n)) {
System.out.println(n + "=" + n);
return;
}
System.out.print(n + "=");
//分解因式
for (int i = 2; i < n + 1; i++) {
while (n % i == 0 && n != i) {
n /= i;
System.out.print(i + "*");
}
if (n == i) {
System.out.println(i);
break;
}
}
}/*** 素数:质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,* 除了1和它本身以外不再有其他因数的数称为质数。* * 基本判断思路:* 在一般领域,对正整数n,如果用2到根下N之间的所有整数去除,均无法整除,则n为质数。* 质数大于等于2 不能被它本身和1以外的数整除*/
private static boolean isPrime(int n) {
if (n <= 3) {
return n > 1;// 2,3是素数
}for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0)
return false;
}
return true;
}
}
大家早上好啊,今天是星期二了,凡是秉持自己信念而活,就能产生自尊自重与自制力,并且内心平和,你会以内在价值标准,而不是旁人的好恶或别人的比较的结果,来衡量自己,这时候,对事情的对错与别人是否发现无关。加油哦
PS :本篇文章内容不是自己写的,是从崔老师发出来的内容中稍微整理后的博客,顶部的贴图来自微信公众号【人民日报】,最后的一段话,是来自王老师、吴老师的心灵鸡汤!
█ 相关资料:
1.人民日报 微信公众号
来了!新闻早班车-人民日报 微信公众号
连接:http://mp.weixin.qq.com/s/nBjJ2vB_gsr-w-Gz7e_0Lw
2.金老师的建议:
有一大部分同学在学习java的时候,要接收一个用户输入(如:input.nextInt()),基本都没有做输入检查。有没有发现程序非常不稳定,输入一个非数字时,程序一下就崩溃了。
大家可以讨论一下你们一般怎么来解决这一的程序问题。try catch?hasNextInt()?
● 这是非常常见的一个问题,大家是不是可以封装一个方法来解决这个问题,非常具有通用性,然后每次要使用的时候就调用封装的方法即可。
● 要接收一个整数,那就返回整数了,要接收一个浮点数,就返回一个浮点数了,要搞清楚方法的作用是什么,做输入检查
● 如果输入不对,是不是就不让程序进入下一步呢,要输入正确才能下一步,或者是给一个退出循环的出口,这样给用户的体验是不是会更好呢,程序也更加健壮。
PS :本篇文章使用的内容如果涉及到侵权问题、违反相关规则请联系我,立即删除。
转载请注明出处:http://blog.csdn.net/ljb568838953/article/details/53418302
【Java学习之代码学习】 Prog09_整数分解因式相关推荐
- 【Java学习之代码学习】 Prog28_打印出杨辉三角形的问题
今天,国家公祭日.有媒体拼接30位南京大屠杀幸存者照片,用面孔诉说79年来的荣辱与沧桑.然而哀思无法抗敌,孱弱必将遭欺.我们缅怀逝者,但不被泪水遮挡视线:我们铭记历史,但不被仇恨冲昏头脑.国家的祭奠, ...
- 【Java学习之代码学习】 Prog25_求闰年个数的问题
我们总害怕,时间来不及.我们总忍不住焦虑--别人都已成功,为何我还是维持现状?其实,我们只看到别人的成功,而忽略背后的积累和汗水.过度的比较,会让自己迷失:一味地奔跑,容易看不清方向.想至千里,先积跬 ...
- 【Java学习之代码学习】 Prog26_求第几天的问题
船停在码头是最安全的,但那不是造船的目的:人呆在家里是最舒服的,但那不是人生的意义.最美好的生活方式,莫过于和一群志同道合的人奔跑在理想的路上!回头,有一路的故事:低头,有坚定的脚步:抬头,有清晰的远 ...
- 【Java学习之代码学习】 Prog06_九九乘法口诀问题
你或许曾经以为,妥协一些.将就一下,这个世界就会为你让出一席之地.但事实上,在妥协将就的背后,恰恰是偷懒,是侥幸,是投机取巧,是退而求其次.真正让人变好的过程都充满挑战和艰辛,正是这些略显沉重的东西, ...
- 【Java学习之代码学习】 Prog18_分数序列问题
我们向往远方,却往往被现实困在原地:我们想要独立,却发现离开家庭的支持,还真有那么一些费力.或许,只有先让自己有足够的力量,打破现实的枷锁和生活的困境,我们才有资格向往诗和远方,憧憬更自由的未来.新的 ...
- 2048游戏代码java总结_软件工程——Java版2048游戏学习报告
2048游戏学习报告 姓名:王浩 专业:计算机科学与技术 年级:15级4班 学号:201510411420 目录 一. 前言 ...
- Java学习练习题08:Java习题及代码08
Java学习练习题08: Java习题及代码08: 链接:https://pan.baidu.com/s/1_PCPo7SI2fRFph02l2UCpQ 提取码:zapx
- Java:计算机编程语言Java的简介、安装(编程环境/工具)、学习路线(如何学习Java以及几十项代码编程案例分析)之详细攻略
Java:计算机编程语言Java的简介.安装(编程环境/工具).学习路线(如何学习Java以及几十项代码编程案例分析)之详细攻略 目录 Java的简介 1.Java的工作原理--基于Eclipse等编 ...
- java绘制图形代码_ImagePy_Learn | 图形学绘制代码学习:core\draw\polygonfill.py
最近在学图形学绘制,想到了ImagePy框架的ROI涂抹交互很方便,于是啃起了绘制代码. 这里主要对ImagePy中一个填充工具进行难点讲解. 让我们好好学习Python中的图形学绘制吧. 例子代码来 ...
最新文章
- 使用liner、feather、multiband对已经拼接的数据进行融合(下)
- 打不开开php_(13)10个开源免费的PHP博客CMS
- C#中创建圆形/按钮(使用重绘)
- myeclipse连接mysql怎么调用_myeclipse连接mysql数据库详细步骤
- mysql健康检查脚本_MySQL服务健康检查脚本
- 二叉树中进行 BFS 和图中进行 BFS 最大的区别
- tomcat之一:指定tomcat运行时JDK版本
- MDC记录activiti流程ID
- Android使用Http访问网络
- IS-IS和OSPFv2对比
- struts2 - View页面中获取Action的成员变量
- Modbus RTU CRC校验码计算方法
- html播放rtmp直播,video.js实现浏览器播放rtmp协议直播流的问题
- 求一个mmd人物女模型(真诚)
- micrium ucprobe使用指南
- 硬件产品的成本构成——研发、产品边际成本和服务
- 魏尔斯特拉斯函数 matlab,Applied Numerical Linear Algebra - James W. Demmel
- 在Win10下 用 Powershell 或 CMD 完成文件的 MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512 等哈希校验
- smart svn破解
- 光猫及二级路由器Openwrt均开启IPv6,满足双层网络内IPv6的获取