I've checked your code. I think they were coded wrong. My corrected code is bellow.Try://GCImage.java public class GCImage { public static void main(String[] args) { //初始数据定义 int xValue=3000; int yValue=400; String binFileName="example.bin"; String binFileDirectory="..\\image";
BinFileInputStream mainBinStream=new BinFileInputStream(400,3000,"example.bin","..\\image"); try{ mainBinStream.start(); } catch(Exception e){ System.err.println(e); } System.out.println("The Max Value is "+mainBinStream.getMax()); System.out.println("The Min Value is "+mainBinStream.getMin()); System.out.println("The Ave Value is "+mainBinStream.getAverage()); } }//BinFileInputStream.javaimport java.io.*;class BinFileInputStream { //构造函数 BinFileInputStream(int xValue,int yValue,String binFileName,String binFileDirectory) { this.xValue=xValue; this.yValue=yValue; this.binFileName=binFileName; this.binFileDirectory=binFileDirectory; }
public void start() throws IOException { int xyValue=xValue*yValue; double[] binArray=new double[xyValue];
I think they were coded wrong.
My corrected code is bellow.Try://GCImage.java
public class GCImage
{
public static void main(String[] args)
{
//初始数据定义
int xValue=3000;
int yValue=400;
String binFileName="example.bin";
String binFileDirectory="..\\image";
BinFileInputStream mainBinStream=new BinFileInputStream(400,3000,"example.bin","..\\image");
try{
mainBinStream.start();
}
catch(Exception e){
System.err.println(e);
}
System.out.println("The Max Value is "+mainBinStream.getMax());
System.out.println("The Min Value is "+mainBinStream.getMin());
System.out.println("The Ave Value is "+mainBinStream.getAverage());
}
}//BinFileInputStream.javaimport java.io.*;class BinFileInputStream
{
//构造函数
BinFileInputStream(int xValue,int yValue,String binFileName,String binFileDirectory)
{
this.xValue=xValue;
this.yValue=yValue;
this.binFileName=binFileName;
this.binFileDirectory=binFileDirectory;
}
public void start() throws IOException
{
int xyValue=xValue*yValue;
double[] binArray=new double[xyValue];
File binFile=new File(this.binFileDirectory,this.binFileName);
DataInputStream binStream=new DataInputStream(new BufferedInputStream(new FileInputStream(binFile)));
for(int numberOfArray=0;numberOfArray<xyValue;numberOfArray++)
{
tempValue=binStream.readDouble();
binArray[numberOfArray]=tempValue;
if(tempValue>theMaxValue)theMaxValue=tempValue;
else if(tempValue<theMinValue)theMinValue=tempValue;
totalValue=totalValue+tempValue;
}
binStream.close();
}
public double getMax()
{
return theMaxValue;
}
public double getMin()
{
return theMinValue;
}
public double getAverage()
{
return (double)(totalValue/(xValue*yValue));
}
//数据定义
private double theMaxValue=0;
private double theMinValue=0;
private double theAverageValue=0;
//private int numberOfArray=0;
public int xValue;
public int yValue;
private String binFileName;
private String binFileDirectory;
private double[] binArray;
private double totalValue;
private File binFile;
private double tempValue;
}
我帮你把源代码改了一下,你复制粘贴一下,再试试。(没有bellow.try)