Chinaunix首页 | 论坛 | 博客
  • 博客访问: 111371
  • 博文数量: 106
  • 博客积分: 2025
  • 博客等级: 大尉
  • 技术积分: 1165
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-06 12:51
文章分类

全部博文(106)

文章存档

2012年(106)

我的朋友

分类: Java

2012-05-08 01:29:56

数系统

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.DefaultTableModel;

public class ABC extends JFrame implements ActionListener{
JFrame frame;
JButton button;
JTable table;
JPanel p;
Label label;
static String[][] a;
public static void main(String args[]){
new ABC();
}
ABC(){
frame=new JFrame();
a=new String[6][6];
a[0][0]="O";a[0][1]="a";a[0][2]="b";a[0][3]="c";a[0][4]="d";a[0][5]="e";
a[1][0]="a";a[2][0]="b";a[3][0]="c";a[4][0]="d";a[5][0]="e";
String[] b={"","
","","","",""};
DefaultTableModel myModel=new DefaultTableModel(a,b){
public boolean isCellEditable(int row,int col){
if(col==0||row==0) return false;
else return true;
}
};
table=new JTable(myModel);
table.setRowHeight(64);
table.getTableHeader().setReorderingAllowed(false);
JScrollPane scrollPane=new JScrollPane(table);
button=new JButton("
判断该代数系统是否结合");
button.addActionListener(this);
label=new Label("");
p=new JPanel();
p.setLayout(new GridLayout(2,1));
p.add(button);
p.add(label);
frame.setTitle("
离散数学");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600,500);
frame.setVisible(true);
Container contentPane=frame.getContentPane();
contentPane.add(scrollPane,BorderLayout.CENTER);
contentPane.add(p,BorderLayout.SOUTH);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==button){
if(table.isEditing()){
int row=table.getEditingRow();
int col=table.getEditingColumn();
table.getCellEditor(row,col).stopCellEditing();
}
for(int i=1;i<6;i++)
for(int j=1;j<6;j++){
if(table.getValueAt(i,j)==null) table.setValueAt("",i,j);
a[i][j]=(String)table.getValueAt(i,j);
}
if(check()) label.setText("
该代数系统可结合");
else label.setText("
该代数系统不可结合");
}
}
boolean check(){
int x=0;
outer: for(int i=1;i<=5&&!a[i][1].equals("");i++)
for(int j=1;j<=5&&!a[1][j].equals("");j++)
for(int k=1;k<=5&&!a[1][k].equals("");k++)
if(!w1(i,j,k).equals(w2(i,j,k))||w1(i,j,k).equals("error")||w2(i,j,k).equals("error")){
x=1;
System.out.printf("%d %d %d",i,j,k);
break outer;
}
if(x==0) return true;
else return false;
}
String w1(int row,int col1,int col2){
int p=0;
int q=0;
for(int i=1;i<=5&&!a[i][1].equals("");i++)
if(a[row][col1].equals(a[i][0])){
q=1;
p=i;
break;
}
if(q==1) return a[p][col2];
else return "error";
}
String w2(int row,int col1,int col2){
int p=0;
int q=0;
for(int i=0;i<=5&&!a[1][i].equals("");i++)
if(a[col1][col2].equals(a[0][i])){
q=1;
p=i;
break;
}
if(q==1) return a[row][p];
else return "error";
}
}

 

阅读(378) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~