資源簡介
粗糙集屬性約簡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])? {
MyElement?e?=?new?MyElement();
int?i?=?0;
ArrayList?C?=?new?ArrayList(0);
ArrayList?D?=?new?ArrayList(0);
for(;?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
評論
共有 條評論