编写一个程序,求2—200之间的素数,并将结果保存在文件prime.dat中。再从该文件中读取内容并在屏幕上显示出来。

qqsbqqsbsb 2010-05-16 10:26:56
import java.io.*;
class prime{
void getprime(int m,int n,int a[]){
int i,j,k;
for(i=m,k=0;i<=n;i++){
for(j=2;j<=i/2;j++){
if(i%j==0) break;
}
if(j>i/2) a[k++]=i;
}
}
public static void main(String[] args){
File primefile=new File("prime1.dat");
prime p=new prime();
int a[]=new int[50];
int i=0,c;
p.getprime(2,200,a);
try{
DataOutputStream out=new DataOutputStream(new FileOutputStream("prime1.dat")); //创建文件输出字节流
DataOutputStream in=new DataInputStream(new FileInputStream("prime1.dat"));//创建文件输入字节流
while(a[i]!=0){
out.write(a[i]); //写数据
}
while((c=in.read())!=-1){
System.out.println(c);
}
in.close();
out.close();}catch(IOException e){ e.printStackTrace();}
}
}
不知哪错了 谢谢指导
...全文
2253 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liboofsc 2011-07-20
  • 打赏
  • 举报
回复
作业题啊,最好自己多想想吧.:)
shine333 2010-05-17
  • 打赏
  • 举报
回复
liboofsc 2010-05-17
  • 打赏
  • 举报
回复 2
又是作业题,拒答。
茫茫大海 2010-05-17
  • 打赏
  • 举报
回复 2

import java.io.*;
class prime{
void getprime(int m,int n,int a[]){
int i,j,k;
for(i=m,k=0;i<=n;i++){
for(j=2;j<=i/2;j++){
if(i%j==0) break;
}
if(j>i/2) a[k++]=i;
}
}
public static void main(String[] args){
File primefile=new File("prime1.dat");
prime p=new prime();
int a[]=new int[50];
int i=0,c;
p.getprime(2,200,a);
try{
DataOutputStream out=new DataOutputStream(new FileOutputStream("prime1.dat")); //创建文件输出字节流
//定义时错写为DataOutputStream,应为DataInputStream
DataInputStream in=new DataInputStream(new FileInputStream("prime1.dat"));//创建文件输入字节流
while(a[i]!=0){
out.write(a[i]); //写数据
i++;//缺少这句,程序出现死循环
}
while((c=in.read())!=-1){
System.out.println(c);
}
in.close();
out.close();}catch(IOException e){ e.printStackTrace();}
}
}

qqsbqqsbsb 2010-05-17
  • 打赏
  • 举报
回复
谢谢各位!本人是学生刚接触java 感觉编程很有趣!
小李子 2010-05-16
  • 打赏
  • 举报
回复
出啥错了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧