資源簡(jiǎn)介
以 ~ ^ & > - 分別表示 非 析取 合取 條件 雙條件 連接詞以單個(gè)大寫字母表示變量(支持26個(gè)變量)以字符0或者1表示值,式子中的T與F,支持 ( )(括號(hào)),有界面,這是源代碼,可以自己直接在eclipse中運(yùn)行
代碼片段和文件信息
package?com.oristand.shiyan.lisan;
import?java.awt.Dimension;
import?java.util.List;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.lang.Character.Subset;
import?java.util.ArrayList;
import?java.util.Iterator;
import?java.util.Stack;
import?java.util.TreeSet;
import?javax.swing.JButton;
import?javax.swing.Jframe;
import?javax.swing.JOptionPane;
import?javax.swing.JPanel;
import?javax.swing.JScrollPane;
import?javax.swing.JTable;
import?javax.swing.JTextField;
import?javax.swing.table.TableColumn;
public?class?ZhenZhi?extends?Jframe?implements?ActionListener?{
JTextField?jtf?jtf1;
JButton?jb1?jb2?jb3;
JPanel?jpanel1;
String?suffix?=?null;
JTable?table;
int?a;?//?表行數(shù)
int?b;//?表列數(shù)
StringBuffer[]?obje;
StringBuffer[]?obje1;
StringBuffer[]?obje2;
StringBuffer[]?obje3;
List?arr?=?new?ArrayList();//?存放真值為1的行數(shù)
public?ZhenZhi()?{
setSize(400?600);
settitle(“真值表“);
setLocation(200?40);
setDefaultCloseOperation(EXIT_ON_CLOSE);
jpanel1?=?new?JPanel();
jpanel1.setLayout(null);
jpanel1.setPreferredSize(new?Dimension(400?500));
jtf?=?new?JTextField();
jtf.setBounds(20?400?340?35);
jtf1?=?new?JTextField();
jtf1.setBounds(20?500?340?35);
jb1?=?new?JButton(“真值表“);
jb1.setBounds(20?450?80?35);
jb1.setActionCommand(“jb1“);
jb1.addActionListener(this);
jb2?=?new?JButton(“主范式“);
jb2.setBounds(150?450?80?35);
jb2.setActionCommand(“jb2“);
jb2.addActionListener(this);
jb3?=?new?JButton(“幫助“);
jb3.setBounds(280?450?80?35);
jb3.setActionCommand(“jb3“);
jb3.addActionListener(this);
jpanel1.add(jtf);
jpanel1.add(jtf1);
jpanel1.add(jb1);
jpanel1.add(jb2);
jpanel1.add(jb3);
this.add(jpanel1);
setVisible(true);
}
/**
?*?@param?args
?*/
public?static?void?main(String[]?args)?{
ZhenZhi?zhenzhi?=?new?ZhenZhi();
}
@Override
public?void?actionPerformed(ActionEvent?e)?{
String?s?=?e.getActionCommand();
if?(s.equals(“jb1“))?{
String?ss?=?jtf.getText();
String?str?=?““;
char[]?chars?=?ss.toCharArray();
for?(int?i?=?0;?i? if?(str.indexOf(chars[i])?==?-1)?{
str?+=?chars[i];
}
}
try?{
suffix?=?toSuffix(ss?+?“=“);//?追加=
}?catch?(Exception?e1)?{
e1.printStackTrace();
}
String?s0?=?str.replaceAll(“[0-9]“?““);
String?s1?=?s0.replace(“>“?““);
String?s2?=?s1.replace(“-“?““);
String?s3?=?s2.replace(“&“?““);
String?s4?=?s3.replace(“~“?““);
String?s5?=?s4.replace(“^“?““);
String?sssss?=?s5.replaceAll(“[(-)]“?““).toString()?+?“?“;
object[]?columnNames?=?new?object[sssss.length()];
for?(int?i?=?0;?i? columnNames[i]?=?(object)?sssss.charAt(i);
}
int?a?=?(int)?Math.pow(2?columnNames.length?-?1);?//?表行數(shù)
int?b?=?columnNames.length;?//?表列數(shù)
intiComponent(a?b?columnNames
評(píng)論
共有 條評(píng)論