封装一类 PrimeNumber,有一个方法接受一个整数参数 n,在文件 mydata.dat 中写入所有
比 n 小的素数,最后在控制台分别显示每个数字(从 0 到 9)在这些素数(比 n 小的素数)
中出现的总次数。比如:在素数 11 13 中出现三次 1,一次 3;在素数 32 058 509 中出现两
次 0,两次 2,一次 3,一次 5,一次 8,一次 9。
File file1 =new File("mydata.dat");
PrimeNumber p=new PrimeNumber();
p.writeout(file1, 12);
import java.io.*;
/**
*
* @author Dell
*/
public class PrimeNumber {
FileOutputStream fileoutput;
byte content = -1;
FileInputStream fileInput;
public void writeout(File file,int n){
int k=0,l=0;
int[] a=new int[1000];
for(int i=2;i<n;i++){
for(int j=2;j<i;j++){
if(i%j==0){
k=1;
}
}
if(k==0){
a[l]=i;
l++;
}
k=0;
}
try{
fileoutput=new FileOutputStream(file);
for(int i=0;i<l;i++){
fileoutput.write(a[i]);
}
}catch(IOException q){
}
int[] b=new int[10];
for(int i=0;i<10;i++){
b[i]=0;
}
for (int i = 0; i < l; i++) {
int p = a[i];
for (int j = 0; j < 10; j++) {
while (p != 0) {
if (p % 10 == j) {
b[j]++;
}
p = p / 10;
}
p=a[i];
}
}
for (int i = 0; i < 10; i++) {
System.out.println(i+"="+b[i]);
}
}
}