基偶校验 JAVA

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//窗口布局类
class WindowGrids extends JFrame implements ActionListener
{
 JButton buttonarray[][];
 WindowGrids(String s)  //构造方法
 {
  super(s);
  Container contenetPane = this.getContentPane();
  GridLayout grid = new GridLayout(6,11,2,8);
  contenetPane.setLayout(grid);       //设置窗口的布局
  buttonarray = new JButton[6][11];   //创建按钮对象
  for (int i = 0;i < 6;i++)
  {
   for (int j = 0;j < 11;j++)
   {
    if (i == 5 && j == 10)
    {
     buttonarray[i][j] = new JButton("清零");
     buttonarray[i][j].addActionListener(this);
         contenetPane.add(buttonarray[i][j]);
        }
        else
        {
         buttonarray[i][j] = new JButton("0");  //为每个实例开辟内存空间
         buttonarray[i][j].addActionListener(this);
         contenetPane.add(buttonarray[i][j]);
        }
   }
  }
  contenetPane.validate();
  setBounds(200,200,800,400);        //x,y,kuan,gao
  setVisible(true);
  setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
 }
 public void actionPerformed(ActionEvent e)
 {
   int row;
   int col;
   if (e.getSource() == buttonarray[5][10])   //如果为清零按钮
   {
     for (int i = 0;i < 6;i++)
      {
    for (int j = 0;j < 11;j++)
    {
     if (i != 6 && j != 11)
            {
          buttonarray[i][j].setText("0");
         }
    }
   }
   buttonarray[5][10].setText("清零");
   }
  for (int i = 0;i < 5;i++)     //逐一搜索查看对应的按钮是否发生事件
   {
    for (int j = 0;j < 10;j++)
    {
     if (e.getSource() == buttonarray[i][j])
     {
      if(buttonarray[i][j].getText() == "0")   //反向显示
                 {
         buttonarray[i][j].setText("1");
         actionshow(i,j);
         break;
         }
        else
        {
         buttonarray[i][j].setText("0");
         actionshow(i,j);
         break;
        }
      }
      
    }
   }
 }
 public void actionshow(int rows,int cols)           //显示更新的组件值
 {
  int i;
  int j;
  int temp;
  int rows_sum = 0;
  int cols_sum = 0; 
  for (i = 0;i < 5;i++)                          //扫描每行的和
  {
   for (j = 0;j < 10;j++)                
   {
    temp = Integer.parseInt(buttonarray[i][j].getText());
    rows_sum = rows_sum + temp;
   }
   rows_sum = rows_sum % 2;                   //进行模2运算
   buttonarray[i][j].setText(""+rows_sum);    //这一行最后一个按钮的显示
   rows_sum = 0;                              //还原值
  }
  for (i = 0;i < 10;i++)                         //扫描每列的和
  {
   for (j = 0;j < 5;j++)
   {
    temp = Integer.parseInt(buttonarray[j][i].getText());
    cols_sum = cols_sum + temp;
   }
   cols_sum = cols_sum % 2;                   //进行模2运算
   buttonarray[j][i].setText(""+cols_sum);
   cols_sum = 0;
  }
 }
}
class ParityCheck
{
 public static void main(String args[])
 {
  WindowGrids win = new WindowGrids("奇偶校验测试");
 }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值