📄 test.java
字号:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
public class Test
{
/**
* @param args
*/
public static void main(String[] args) throws CloneNotSupportedException
{
// TODO Auto-generated method stub
//求等价类,结果集中每一个集合就是一个等价类,
//集合中的数字就是元素(元组)的序号
DecisionTable myTestDT = new DecisionTable("C:\\testData.dt");
//计算等价类
ArrayList<Character> toBeUsedConditions = new ArrayList<Character>(0);
System.out.println("现在进行等价类计算的测试,请您指定一个条件属性集合" +
"以‘#’表示结束");
Scanner in= new Scanner(System.in);
String tempStr;
while(in.hasNext())
{
tempStr = in.next();
if(tempStr.length() == 1)
{
if(!tempStr.equals("#"))
{
toBeUsedConditions.add(tempStr.charAt(0));
}
else
break;
}
else
{
System.out.println("为了方便起见,我们约定属性为char型");
break;
}
}
ArrayList<MySet> equClass = myTestDT.equivalenceClass(toBeUsedConditions);
Iterator<MySet> itSet = equClass.iterator();
System.out.println("注:结果中每一对{}所包含的元素就是构成等价类,其中的数字" +
"是元素的编号,根据您输入的条件属性所计算出的等价类是:");
while(itSet.hasNext())
{
itSet.next().print();
System.out.println();
}
// MySet pos = myTestDT.POS();
//计算核属性
ArrayList<Character> core = myTestDT.core();
Iterator<Character> itCore = core.iterator();
System.out.println("核属性是:");
while(itCore.hasNext())
{
System.out.print(itCore.next()+" ");
}
System.out.println();
//基于正域的属性约简
DecisionTable reductedDT = myTestDT.attributeReduct();
System.out.println("基于正域的属性约简结果是:");
reductedDT.print();
//基于依赖度的属性约简
DecisionTable reductedDTByRely = myTestDT.attributeReductByRely();
System.out.println("基于依赖度的属性约简结果是:");
reductedDTByRely.print();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -