• 大小: 19KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: Java
  • 标签: java  粗糙集  

资源简介

java实现粗糙集代码,仅供参考

资源截图

代码片段和文件信息

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
import java.io.*;
//决策表DT=(UCUDVf)类声明
public class DecisionTable implements Cloneable
{
public static int iNo;

//缺省构造方法
public DecisionTable()
{

}

//由限定格式文件FileName创建决策表
public DecisionTable(String fileName)
{
try
{
File file = new File(fileName);
Scanner in = new Scanner(file);
String[] temp;
while(in.hasNextLine())
{
temp = in.nextLine().split(“ |“);
if(temp[0].equals( “@conditionAttribute“))
{
for(int i=1; i {
this.conditionSet.add(temp[i].charAt(0));
}
}
else if(temp[0].equals(“@decisionAttribute“))
{
for(int i=1; i {
this.decisionSet.add(temp[i].charAt(0));
}
}
else if(temp[0].equals(“%“) || temp[0].equals(“@data“))
{
continue;
}
else if(temp[0].equals(“@end“))
{
break;
}
else if(Integer.parseInt(temp[0]) < Integer.MAX_VALUE)
{
MyElement e = new MyElement();
int i = 0;
ArrayList C = new ArrayList(0);
ArrayList D = new ArrayList(0);
for(; i< this.conditionSet.size(); i++)
{
C.add(Integer.parseInt(temp[i]));
}
for(int j=0; j {
D.add(Integer.parseInt(temp[i+j]));
}
e.setCondition(C);
e.setDecision(D);
this.addElement(e);
}
else
{
System.out.println(“数据数目有误,请检查“);
break;
}
}
}

catch(IOException e)
{
System.out.print(“不能打开文件“ + fileName + “ “ + e.getMessage());
}
}

//实现克隆功能
public DecisionTable clone() throws CloneNotSupportedException
{
DecisionTable cloned = new DecisionTable();

cloned.conditionSet = (ArrayList)this.conditionSet.clone();
cloned.decisionSet = (ArrayList)this.decisionSet.clone();
ArrayList arrayElements = new ArrayList(0);
MyElement tempElement = new MyElement();
Iterator itElements = this.DT.iterator();
while(itElements.hasNext())
{
tempElement = itElements.next().clone();
arrayElements.add(tempElement);
}
cloned.DT = arrayElements;

return cloned;
}

//设置条件属性集
void setConditionSet(ArrayList condition)
{
this.conditionSet = condition;
}

//设置决策属性集
void setDecisionSet(ArrayList decision)
{
this.decisionSet = decision;
}

//把决策表当前位置为index的样本编号设置为newU
void setU(int index int newU)
{
MyElement temp = DT.get(index);
temp.setU(newU);
DT.set(indextemp);
}

//返回条件属性集
ArrayList getConditionSet()
{
return this.conditionSet;
}

//返回决策属性集
ArrayList getDecisionSet()
{
return this.decisionSet;
}

//返回决策表元素
ArrayList getDT()
{
return DT;
}

//返回编号为u的样本
MyElement getEl

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        232  2009-02-16 09:37  RoughSet\.classpath

     文件        384  2009-02-16 09:37  RoughSet\.project

     文件      10994  2009-02-22 15:25  RoughSet\bin\DecisionTable.class

     文件       4538  2009-02-22 15:24  RoughSet\bin\MyElement.class

     文件       5065  2009-02-24 12:25  RoughSet\bin\MySet.class

     文件       2281  2009-02-24 13:37  RoughSet\bin\Test.class

     文件        431  2009-02-24 16:30  RoughSet\bin\testData.dt

     文件         40  2009-02-24 16:27  RoughSet\bin\说明

     文件      11798  2009-02-22 15:25  RoughSet\src\DecisionTable.java

     文件       3792  2009-02-22 15:24  RoughSet\src\MyElement.java

     文件       3973  2009-02-24 12:25  RoughSet\src\MySet.java

     文件       1989  2009-02-24 16:34  RoughSet\src\Test.java

     文件        431  2009-02-24 16:30  RoughSet\src\testData.dt

     文件         40  2009-02-24 16:27  RoughSet\src\说明

     目录          0  2009-02-24 16:30  RoughSet\bin

     目录          0  2009-02-24 16:34  RoughSet\src

     目录          0  2009-02-24 16:29  RoughSet

----------- ---------  ---------- -----  ----

                45988                    17


评论

共有 条评论