那位高手指点一下
小弟新学java,编了个求100以内质数的程序,但在jcreator下不能运行,那位大虾请帮忙看一下,小弟在此感激不尽。
public class sushu {
public static void main(String[] args) {
int a[100];
for(int i=0;i<=99;i++){
a[i]=i+1;
}
for(int i=1;i<=49;i++){
for(int j=i+1;j<100;j++){
if(a[j]%a[i]==0)
a[j]=0;
}
}
for(i=0;i<=99;i++)
if(a[i]!=0)
System.out.println( a[i] );
}
}
问题点数:20、回复次数:7Top
1 楼cuilichen(fjfjfjfj)回复于 2005-04-01 15:53:08 得分 10
int a[100]; ???
改成:
int[] a=new int[100];Top
2 楼cuilichen(fjfjfjfj)回复于 2005-04-01 16:02:20 得分 10
你的算法有问题。
另外
for(i=0;i<=99;i++)
if(a[i]!=0)
System.out.println( a[i] );
中的 i 没有定义。Top
3 楼pzb19841116()回复于 2005-04-01 16:22:05 得分 0
刚才发错了,重发
public class sushu {
public static void main(String[] args) {
int a[100];
for(int i=0;i<=99;i++){
a[i]=i+1;
}
for(int i=1;i<=49;i++){
for(int j=i+1;j<100;j++){
if(a[i==0||a[j==0])
continue;
if(a[j]%a[i]==0)
a[j]=0;
}
}
for(i=0;i<=99;i++)
if(a[i]!=0)
System.out.println( a[i] ); }
}Top
4 楼cuilichen(fjfjfjfj)回复于 2005-04-01 16:26:49 得分 0
可以运行的程序:
public class Test {
public static void main(String[] args) {
int a[] = new int[100];
for (int i = 0; i <100; i++) {
a[i] = i + 1;
}
for (int i = 1; i <50; i++) {
for (int j = i + 1; j < 100; j++) {
if(a[i]==0||a[j]==0)
continue;
if(a[j]%a[i]==0)
a[j]=0;
}
}
for (int i = 0; i <= 99; i++)
if (a[i] != 0)
System.out.println(a[i]);
}
}
结果是正确的,已经验证过了。Top
5 楼jnzsk()回复于 2005-04-01 16:41:04 得分 0
学习中Top
6 楼Terminator_2004(孤叶飘舞)回复于 2005-04-01 19:42:23 得分 0
给我看一下!Top
7 楼pzb19841116()回复于 2005-04-03 09:38:12 得分 0
呵呵,我终于改好了,多谢大家帮忙,小弟在此将本人完成的第一个java程序贴上,供大家指点
public class sushu {
public static void main(String[] args) {
int[] a=new int[100];
for(int i=0;i<=99;i++){
a[i]=i+1;
}
for(int i=1;i<=49;i++){
for(int j=i+1;j<100;j++){
if(a[i]==0||a[j]==0)
continue;
if(a[j]%a[i]==0)
a[j]=0;
}
}
for(int i=0;i<=99;i++)
if(a[i]!=0)
System.out.println( a[i] ); }
}Top




