⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ojldalgorithm.java~1~

📁 Birch
💻 JAVA~1~
字号:
package datamining;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class ojldAlgorithm {
    private double[] record1,record2;  //即对应于数据库中n维的一条记录
    private int record1Dimension,record2Dimension;
    private double value;//该算法的计算结果
    private boolean flag;//标识两条记录的维数是否相同
    public double[] getRecord1(){
            return record1;
    }
    public boolean getFlag(){
            return this.flag;
    }
    public void setFlag(boolean flag){
           this.flag=flag;
    }
    public double[] getRecord2(){
            return record2;
    }
    public int  getrecord1Dimension(){
            return record1Dimension;
    }
    public int getrecord2Dimension(){
            return record2Dimension;
    }
    public double getValue(){
            return value;
    }
    public void setValue(double value){
            this.value=value;
    }
    public void setNumber1Dimension(double[] record1){
          this.record1Dimension=record1.length;
    } //设定记录1的
    public void setNumber2Dimension(double[] record2){
         this.record2Dimension=record2.length;
   }

    public boolean setRecordValue(double[] record1,double[] record2){
        this.record1=new double[record1Dimension];
        this.record2=new double[record2Dimension];
        if(isEqualDimension()){
           for(int i=0;i<this.record1Dimension;i++){
              this.record1[i]=record1[i];
              this.record2[i]=record2[i];
           }

        }
        return flag;

    }//在改类中记录下两条记录的值,若两条记录的维数不同,则返回false,告知不能在改类中设定

    public boolean isEqualDimension(){
        flag=false;
        if(this.record1Dimension==this.record2Dimension)
            flag=true;
        return flag;
    }  //两个数的维度是否相同
    public ojldAlgorithm(double[] record1,double[]record2) {
         this.setNumber1Dimension(record1);
         this.setNumber2Dimension(record2);
         this.setRecordValue(record1,record2);

    }//构造函数
    public double calculate(){
        if(this.flag){
            value = 0;
            for (int i = 0; i < this.record1Dimension; i++) {
                value = value +
                        (record1[i] - record2[i]) * (record1[i] - record2[i]);
            }
            value = Math.sqrt(value);
        }
        else{
        value=-1;    //如果FLAG为false 即两条记录的维数不相同时,返回-1值
        }
        return value;
    }
    }//依欧几里德算法计算结果


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -