这是个找出101到200内质数的超级小菜例,呵呵还请大家帮下忙!!!
first:
public class TestSimple {
public static void main(String args[]) {
boolean sign = true;
for(int i=101;i<200;i+=2) {
for(int j=2;j<i;j++) {
if(i%j == 0) {
sign = false;
break;
}
}
if(!sign) {
continue;
}
System.out.print(i+" ");
}
}
}
second:
public class TestSimple {
public static void main(String args[]) {
for(int i=101;i<200;i+=2) {
boolean sign = true;
for(int j=2;j<i;j++) {
if(i%j == 0) {
sign = false;
break;
}
}
if(!sign) {
continue;
}
System.out.print(i+" ");
}
}
}
first:
public class TestSimple {
public static void main(String args[]) {
boolean sign = true;
for(int i=101;i<200;i+=2) {
for(int j=2;j<i;j++) {
if(i%j == 0) {
sign = false;
break;
}
}
if(!sign) {
continue;
}
System.out.print(i+" ");
}
}
}
second:
public class TestSimple {
public static void main(String args[]) {
for(int i=101;i<200;i+=2) {
boolean sign = true;
for(int j=2;j<i;j++) {
if(i%j == 0) {
sign = false;
break;
}
}
if(!sign) {
continue;
}
System.out.print(i+" ");
}
}
}
解决方案 »
- Ant不支持JDK1.6的问题
- 一个奇怪的java基础问题 ?
- 请问一下强制类型转换的问题~
- 为什么在Applet上网页上显示不出图片??
- 关于dom读xml文件时,子节点数与实际文件中的节点数不一致的问题。多读了2个“#text”
- 散分:关于jar的exe外衣,穿个马甲,普通用户就不眼生了!
- 刚才去色情网站转了一下,一会功夫通过applet居然被自动安装了一个软件,问:不是applet很安全吗?这是如何实现的?
- 卖艺不卖身,有需要系统分析员的吗?兼职、合作都可以......
- 请教高手
- 哪里有卖SL-275的教材?
- 征求一个 JAVA开发的思路
- ..........这段GUI的 java教程 如何翻译?
/**
* @param args
*/
public static void main(String[] args) {
int num = Integer.parseInt(readSystemIn());
for (int i = 1; i <= num; i++) {
if (isPrime(i))
System.out.println(i);
}
} /**
* 判断一个数是否是素数
*
* @param num
* @return
*/
private static boolean isPrime(int num) {
for (int k = 2; k <= num/2; k++) {
if (num % k == 0)
return false;
}
return true;
} /**
* 从控制台读取一串字符串
*
* @return
*/
public static String readSystemIn() {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
return br.readLine();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
一、像楼上各位说的一样,尽量写成面向对象的方式,容易阅读和检查二、第一个程序写错了,第二个是对的,所以差别大。
第一个程序sign变量只在第一次赋值true。而第二个程序每次循环都将sign还原为true。
第一个程序如果碰到一个非质数,sign永远是false,后面的语句System.out.print(i+" "); 就永远不会执行了