📄 cluster.java
字号:
import java.util.ArrayList;
public class Cluster {
ArrayList<Data> data;
int count;
int num;
Data center ;
ArrayList<Data> member ;
public Cluster() {
center = new Data(0.0,0.0,0.0,0.0);
member = new ArrayList<Data>();
}
public Cluster(ArrayList<Data> data,int count,int num,Data center) {
center = new Data(0.0,0.0,0.0,0.0);
member = new ArrayList<Data>();
this.data = data;
this.count = count;
this.num = num;
this.center = center;
}
public void clear() {
member.clear();
}
public Data setCenter(ArrayList<Data> d) {
double d1 = d.get(0).data[0];
//System.out.print(d1);
double sum = 0.0;
double [] d4 = new double[4];
for (int j = 0; j < 4; j++) {
sum = 0;
for (int i=0;i<d.size();i++) {
sum=sum + d.get(i).data[j];
//System.out.print(sum);
}
sum /= d.size();
d4[j] = sum;
//System.out.print(d4[j]);
}
center = new Data(d4[0],d4[1],d4[2],d4[3]);
System.out.print("簇中心为("+d4[0]+","+d4[1]+","+d4[2] +","+d4[3] + ")\n");
return center;
}
public boolean judgeCenter(Data d1,Data d2) {
for(int i=0;i<4;i++) {
//System.out.print(d1.data[i]+"--"+d2.data[i]);
if((d1.data[i]-d2.data[i])!=0)
return false;
}
return true;
}
}
class Data {
Double[] data = new Double[4];
int dimension;
public Data() {
data = null;
dimension = 4;
}
public Data(Double d1, Double d2, Double d3, Double d4) {
data[0] = d1;
data[1] = d2;
data[2] = d3;
data[3] = d4;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -