📄 savearray.java
字号:
import java.io.*;
import java.util.*;
//将从文件里读的数据放到数组中去
class SaveArray
{
private String aString[][]=new String[1000][100];
private String filename;
private int count=0;//表示文件的行数
private int ccount =1;//表示文件的列数
private boolean panduan = false;
public SaveArray(String a)
{
filename = a;
}
public void getString()
{
try
{
BufferedReader fr = new BufferedReader(new FileReader(filename));
String aFile;
int i=0;
int j;
count = 0;
while ((aFile = fr.readLine()) != null) {
StringTokenizer ST = new StringTokenizer(aFile, " \t\f||,");
for (j=0; ST.hasMoreTokens()==true; j++) {
aString[i][j] = (ST.nextToken().trim());
ccount=j;
//System.out.print("---"+aString[i][j]);
//System.out.println("----"+j);
}
//System.out.println();
i++;
count++;
}
//System.out.println("****"+ccount);
fr.close();
}catch(IOException e) {
e.printStackTrace();
System.out.println("I/O Error!");
}
}
private double average[] = new double[]{0,0,0,0,0,0,0,0};
//计算每列的平均值
public double[] excute()
{
this.getString();
int i,j;
for(j=0;j<ccount;j++)
{for(i=1;i<count-1;i++)
{
double k = Double.parseDouble(aString[i][j]);
average[j]+=k;
}
average[j] = average[j]/(count-1);
//System.out.println(average[j]+" average");
}
return average;
}
private double miu[] = new double[]{0,0,0,0,0,0,0,0};
private double n=0;
public double[] excutemiu()
{
//this.excute();
int a,b;
for(b=0;b<ccount;b++)
{
for(a =1;a<count-1;a++)
{
double k = Double.parseDouble(aString[a][b]);
n += Math.abs(k-average[b])*Math.abs(k-average[b]);
//System.out.println("***"+n);
}
//NumberFormat formatter = NumberFormat.getNumberInstance();
//formatter.setMaximumFractionDigits(4);
//formatter.setMinimumFractionDigits(2);
//System.out.println("***"+count);
miu[b]=(count-2)*n/(count-1);
n=0;
//String s = formatter.format(miu[b]);
//System.out.println(s);
}
panduan = true;
return miu;
}
public int getCount()
{
return ccount;
}
public boolean getpanduan()
{
return panduan;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -