System.exit(0)
表示程序正常退出
System.exit(status)
当status非0时,表示程序为非正常退出。
status=0, 关闭当前正在运行的虚拟机。
求质因数分解的程序如下:
两种算法:
一种是用System.exit(0)
// 若不加此句,代码在运行完System.out.println(number)后,会回到for中从i++开始执行,不断执行 else和后面的打印语句。是因为递归吗?
代码
package basic40;
public class Divid {
public static void divide(int a){
for (int i = 2; i <= (int)(Math.sqrt(a)); i++){
if(a % i == 0){
System.out.print(i+"*");
a = a / i;
divide(a);
break;
}
}
System.out.print(a);
System.exit(0);
}
public static void main(String []args){
int a = 90;
divide(a);
}
}
另一种是不用System.exit(0)
package basic40;
public class Divide2PrimeMultiple {
//need to judge whether the last number is prime number
public static void divide(int number) {
if (isPrimeNumber(number)) {
System.out.println(number);
} else {
int i = 2;
while(i <=(int)(Math.sqrt(number))){
if (number % i == 0) {
System.out.println(i + ",");
number = number / i;
divide(number);
break;
} else {
i++;
}
}
}
}
// }
private static boolean isPrimeNumber(int number) {
boolean flag = true;
for (int i = 2; i <= (int) (Math.sqrt(number)); i++) {
if (number % i == 0) {
flag = false;
break;
} else {
flag = true;
}
}
return flag;
}
public static void fenjie(int n){
for(int i=2;i<=(int)(Math.sqrt(n));i++){
if(n%i==0){
System.out.print(i+"*");
fenjie(n/i);
}
}
System.out.print(n);
System.exit(0);///不能少这句,否则结果会出错
}
public static void main (String []args){
int a = 90;
divide(a);
// divideNoJudge(a);
// fenjie(a);
}
}
麻烦很多,不仅有重复代码,而且增加运行负担。
有时候在递归中强制关闭编译器是有必要的。
System.exit(0)的更多相关文章
- android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别
android Activity类中的finish().onDestory()和System.exit(0) 三者的区别 Activity.finish() Call this when your a ...
- System.exit(0)和System.exit(1)区别
System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() .无论如何,内存都释放了!也就是说连JV ...
- System.exit(0)作用
System.exit(0)作用 public class HelloGoodbye{ try{ System.out.println(“Hello World”); System.exit(0) ...
- android开发时,finish()跟System.exit(0)的区别
这两天在弄Android,遇到一个问题:所开发的小游戏中有背景音乐,玩的过程中始终有音乐在放着,然后在我退出游戏后,音乐还在播放! 我看了一下我最开始写的退出游戏的代码,就是简单的finish() ...
- System.exit(0)和System.exit(1)区别:
System.exit(0)是将你的整个虚拟机里的内容都停掉了,而finish()只是退出了activity,并没有退出应用,Application还是存在于内存中的,除非被系统回收.无论如何,内存都 ...
- How to use Android Activity's finish(), onDestory() and System.exit(0) methods
Activity.finish() Calling this method will let the system know that the programmer wants the current ...
- android Process.killProcess 和 System.exit(0) 区别
1 Process.killProcess 和 System.exit(0) 两个都会 kill 掉当前进程. 你可以打开 DDMS 查看进程号,或 adb shell 进入 shell 然后 ps ...
- system.exit(0) vs system.exit(1)
2.解析 查看java.lang.System的源代码,我们可以找到System.exit(status)这个方法的说明,代码如下: /** * Terminates the currently ru ...
- android中 System.exit(0)的理解
public class HelloGoodbye{ try{ System.out.println(“Hello World”); System.exit(0); } finally { Syste ...
随机推荐
- Team Homework #3
我们组采访了以下几组学长学姐.因为隐私问题我们不会写出他们的个人信息. 1:平均每周所花时间:10:平均写的代码总数:2000:最有用的部分:锻炼团队合作精神:最没用的部分:写博客:改进:完全不需要博 ...
- Jquery 固定悬浮层以及固定表头
/* =========================================================== * jquery.autofix_anything.js v1 * === ...
- Zabbix实现告警分级
Zabbix中trigger的severity的值定义了trigger的不同严重程度,其中severity默认的6个值为 Not classified, Information, Warning, A ...
- ios开发小技巧之提示音播放与震动
在ios开发中,有时候我们需要频繁播放某种提示声音,比如微博刷新提示音.QQ消息提示音等,对于这些短小且需要频繁播放的音频,最好将其加入到系统声音(system sound)里. 注意: 需要播放的音 ...
- KASS分布式文件系统(Kass File System)
KASS分布式文件系统(Kass File System),简称KFS,是开始公司自主研发的分布式文件存储服务平台.KFS系统架构及功能服务类似Hadoop/GFS/DFS,它通过HTTP-WEB为上 ...
- 关于StringBuilder
写在前面的话 很久没有更新博客了,来上海实习身边的一切波动挺大的,还好我走过来了,博客园:一路有你! StringBuilder 相信大家对StringBuilder类型一定不陌生,我们Coding经 ...
- jstl if条件判断字符串代码
<c:if test="${netWorkInfo.networkType eq '快修店'}"> <input type="radio" n ...
- java基础知识回顾之javaIO类--内存操作流ByteArrayInputStream和ByteArrayOutputSteam(操作字节数组)
直接看代码: package cn.itcast.io.p6.bytestream; import java.io.ByteArrayInputStream; import java.io.ByteA ...
- hdu 2177 取(2堆)石子游戏 博弈论
由于要输出方案,变得复杂了.数据不是很大,首先打表,所有whthoff 的奇异局势. 然后直接判断是否为必胜局面. 如果必胜,首先判断能否直接同时相减得到.这里不需要遍历或者二分查找.由于两者同时减去 ...
- VisualSvn+TortoiseSVN的安装说明
一.VisualSvn安装及简单使用 下载VisualSvn:VisualSVN-Server-2.5.5.msi 系统:Win7系统 安装步骤: 1.下载VisualSVN-Server-2.5.5 ...