java 编程救助

来源:百度知道 编辑:UC知道 时间:2024/06/05 09:45:59
public class find {
public static void main(String[] args)
{

int t,i,/*h,sum,*/j=0;
int a[];
a=new int[977];
for(t=3;t<=1000;t++)
{ int k=t/2;

for( i=1;i<=k;i++)//判断素数
{if(t%i==0) break;}

if(i>k){a[j]=t;//是的话放入数组中
j++;
// System.out.println(+a[j]+"t");把t放入数组中输出就不可以
System.out.println(+t+"\t");直接输出t就可以
}
}
t就放不到数组中,不知是怎么回事,请大家帮帮忙,谢谢!!!
不过先谢谢JLUX小米,在帮我看看哦!

可能是你C/C++写的多一些,初到JAVA可能有点不习惯。建议你看看JAVA的基础知识,我也正在看,一起学习吧!把你的程序改了一下……可以正常运行了
for( i=1;i<=k;i++)//判断素数
{if(t%i==0) break;}

if(i>k){a[j]=t;//是的话放入数组中

i 怎么会大于k...

照你的想法改了一下:可以正常得出结果
public class Find{
static void Prime(int a){
//判断素数,用你的方法
int j = 0;
for(int t=3; t<a;++t){
int k=t/2;
int i = 2;
for(;i<=k;i++)//判断素数
if(t%i==0) break;
if(i>k)
System.out.println(t);//把t放入数组中输出就不可以
}
}
public static void main(String[] args){
Prime(1000);
}
}
如果想加数组,这样就好了
public class Find{
static void Prime(int a){
//判断素数,用你的方法
int[] b = new int[200];
int j = 0;
for(int t=3; t<a;++t){
int k=t/2;
int i = 2;
for(;i<=k;i++)//判断素数
if(t%i==0) break;
if(i>k) {
b[j++] = t;
System.out.println(t);//把t放入数组中输出就不可以