⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scoresystemmain.java

📁 Java编程技巧
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        return;
      }
      catch (ClassNotFoundException pe)
      {
        System.out.println("打开文件失败!!!!");
        System.out.println(pe.getMessage());
        matchseason=tempseason;
        fullname=temp;
        return;
      }

      currentsports=0;
      this.setTitle(fullname);
      showData(1);
  }

  public void actionPerformed( ActionEvent e )
  {
    if(e.getActionCommand().equals("退出"))
    {
      quit();
    }
    else if(e.getActionCommand().equals("关于ScoreSystem..."))
    {
      JOptionPane.showMessageDialog(this,"xyw 制作");
    }
    else if(e.getActionCommand().equals("帮助主题"))
    {
    }
    else if(e.getActionCommand().equals("刷新显示"))
    {
      checkData();
      saveData();
      showData(1);
    }
    else if(e.getActionCommand().equals("查找当前赛季中某花样动作的表演次数"))
    {
      if(matchseason==null||matchseason.sports==null) return;

      String name=JOptionPane.showInputDialog(this,"请输入需要查找的花样名称");
      if(name==null) return;

      int n=0;
      for(int i=0;i<matchseason.sports.length;i++)
      {
        Sports s=matchseason.sports[i];
        for(int j=0;j<s.play.length;j++)
          if(name.equals(s.play[j].style)&&s.play[j].player!=null) n+=s.play[j].player.length;
      }

      String str=name+"花样的表演次数为:   ";
      str+=new Integer(n).toString();
      JOptionPane.showMessageDialog(this,str);
    }
    else if(e.getActionCommand().equals("查找当前运动会某花样动作中某位选手的净得分"))
    {
      if(matchseason==null||matchseason.sports==null||currentsports==-1) return;

      Sports s=matchseason.sports[currentsports];

      if(styledata!=null)
      {
        String name=JOptionPane.showInputDialog(this,"请输入需要查找的花样名称");
        if(name==null) return;

        String names[]=new String[styledata.length];
        for(int i=0;i<styledata.length;i++)
          names[i]=styledata[i][0].toString();

        if(isInSet(name,names)==-1)
        {
          JOptionPane.showMessageDialog(this,"该花样不存在!!!!");
          return;
        }

        String no=JOptionPane.showInputDialog(this,"请输入需要查找的选手代号");
        if(no==null) return;

        double d=0;
        int n=0;
        for(int j=0;j<s.play.length;j++)
          if(name.equalsIgnoreCase(s.play[j].style)&&s.play[j].player!=null&&s.play[j].referee!=null&&s.play[j].netscore!=null)
          {
            for(int i=0;i<s.play[j].player.length;i++)
              if(no.equalsIgnoreCase(s.play[j].player[i]))
              {
                for(int k=0;k<s.play[j].referee.length;k++)
                {
                  n++;
                  d+=s.play[j].netscore[k][i];
                }
                break;
              }
          }

        if(n!=0) d=d/n;
        String str=no+"在"+name+"花样上的净得分为:   ";
        str+=new Double(d).toString();
        JOptionPane.showMessageDialog(this,str);
      }
    }
    else if(e.getActionCommand().equals("查找当前运动会中某位比赛者在所有花样动作上的平均分"))
    {
      if(matchseason==null||matchseason.sports==null||currentsports==-1) return;

      Sports s=matchseason.sports[currentsports];

      if(styledata!=null)
      {
        String no=JOptionPane.showInputDialog(this,"请输入需要查找的选手代号");
        if(no==null) return;

        double d=0;
        int n=0;
        for(int j=0;j<s.play.length;j++)
          if(s.play[j].player!=null&&s.play[j].referee!=null&&s.play[j].netscore!=null)
          {
            for(int i=0;i<s.play[j].player.length;i++)
              if(no.equalsIgnoreCase(s.play[j].player[i]))
              {
                for(int k=0;k<s.play[j].referee.length;k++)
                {
                  n++;
                  d+=s.play[j].netscore[k][i];
                }
                break;
              }
          }

        if(n!=0) d=d/n;
        String str=no+"在所有花样动作中的净得分为:   ";
        str+=new Double(d).toString();
        JOptionPane.showMessageDialog(this,str);
      }
    }
    else if(e.getActionCommand().equals("查找当前赛季中的所有选手"))
    {
      if(matchseason==null||matchseason.sports==null) return;
      Object player[][];

      int len=0;
      for(int i=0;i<matchseason.sports.length;i++)
      {
        if(matchseason.sports[i].player!=null)
          len+=matchseason.sports[i].player.length+1;
      }

      if(len==0)
      {
        JOptionPane.showMessageDialog(this,"没有任何选手信息");
        return;
      }
      player=new Object[len][6];
      len=0;
      for(int i=0;i<matchseason.sports.length;i++)
      {
        Sports s=matchseason.sports[i];
        if(s.player==null||s.player.length==0) continue;
        player[len++][0]=s.name+"运动会";
        for(int j=0;j<s.player.length;j++)
        {
          player[len][0]=s.player[j].no;
          player[len][1]=s.player[j].name;
          player[len][2]=new Integer(s.player[j].age);
          player[len][3]=s.player[j].address;
          player[len][4]=s.player[j].phonenumber;
          player[len][5]=s.player[j].depiction;
          len++;
        }
      }

      TableDlg dlg=new TableDlg(this,headplayer,player);
      dlg.setTitle("当前赛季中所有选手的信息");
      dlg.setVisible(true);
    }
    else if(e.getActionCommand().equals("查找当前赛季中某比赛项目的所有选手"))
    {
      if(matchseason==null||matchseason.sports==null) return;
      Object player[][];

      String name=JOptionPane.showInputDialog(this,"请输入比赛项目名称");
      if(name==null) return;

      int len=0,i,j,k;
      for(i=0;i<matchseason.sports.length;i++)
      {
        Sports s=matchseason.sports[i];
        if(s.player==null) continue;
        for(j=0;j<s.player.length;j++)
          if(s.play!=null)
            for(k=0;k<s.play.length;k++)
              if(name.equalsIgnoreCase(s.play[k].program))
                if(isInSet(s.player[j].no,s.play[k].player)!=-1)
                {
                  len++;
                  break;
                }
        len++;
      }

      if(len==0)
      {
        JOptionPane.showMessageDialog(this,"没有任何选手信息");
        return;
      }
      player=new Object[len][6];
      len=0;

      for(i=0;i<matchseason.sports.length;i++)
      {
        Sports s=matchseason.sports[i];
        if(s.player==null) continue;
        player[len++][0]=s.name+"运动会";
        for(j=0;j<s.player.length;j++)
          if(s.play!=null)
            for(k=0;k<s.play.length;k++)
              if(name.equalsIgnoreCase(s.play[k].program))
                if(isInSet(s.player[j].no,s.play[k].player)!=-1)
                {
                  player[len][0]=s.player[j].no;
                  player[len][1]=s.player[j].name;
                  player[len][2]=new Integer(s.player[j].age);
                  player[len][3]=s.player[j].address;
                  player[len][4]=s.player[j].phonenumber;
                  player[len][5]=s.player[j].depiction;
                  len++;
                  break;
                }
      }

      TableDlg dlg=new TableDlg(this,headplayer,player);
      dlg.setTitle("当前赛季中"+name+"项目的所有选手的信息");
      dlg.setVisible(true);
    }
    else if(e.getActionCommand().equals("查找某比赛项目中打最低分的裁判"))
    {
      if(matchseason==null||matchseason.sports==null||currentsports==-1) return;

      Sports s=matchseason.sports[currentsports];

      if(s.play==null)
      {
        JOptionPane.showMessageDialog(this,"还未有比赛赛程进行!!!!");
        return;
      }

      String name=JOptionPane.showInputDialog(this,"请输入比赛项目名称");
      if(name==null) return;

      String str="";
      double min=10;
      boolean b=false;
      for(int i=0;i<s.play.length;i++)
      {
        if(s.play[i].referee==null||s.play[i].player==null||s.play[i].netscore==null) continue;

        if(s.play[i].program.equalsIgnoreCase(name))
        {
          for(int j=0;j<s.play[i].referee.length;j++)
          for(int k=0;k<s.play[i].player.length;k++)
          {
            b=true;
            if(s.play[i].netscore[j][k]<min)
            {
              str=s.play[i].referee[j];
              min=s.play[i].netscore[j][k];
            }
            else if(s.play[i].netscore[j][k]==min&&str.indexOf(s.play[i].referee[j])!=0)
            {
              str+=",";
              str+=s.play[i].referee[j];
            }
          }
        }
      }

      if(b)
      {
        str="在"+name+"项目中打最低分的裁判有:   "+str;
      }
      else
      {
        str="情况有些意外!!!";
      }
      JOptionPane.showMessageDialog(this,str);
    }
    else if(e.getActionCommand().equals("查找某花样动作中打最低分的裁判"))
    {
      if(matchseason==null||matchseason.sports==null||currentsports==-1) return;

      Sports s=matchseason.sports[currentsports];

      if(s.play==null)
      {
        JOptionPane.showMessageDialog(this,"还未有比赛赛程进行!!!!");
        return;
      }

      String name=JOptionPane.showInputDialog(this,"请输入花样动作名称");
      if(name==null) return;

      String str="";
      double min=10;
      boolean b=false;
      for(int i=0;i<s.play.length;i++)
      {
        if(s.play[i].referee==null||s.play[i].player==null||s.play[i].netscore==null) continue;

        if(s.play[i].style.equalsIgnoreCase(name))
        {
          for(int j=0;j<s.play[i].referee.length;j++)
          for(int k=0;k<s.play[i].player.length;k++)
          {
            b=true;
            if(s.play[i].netscore[j][k]<min)
            {
              str=s.play[i].referee[j];
              min=s.play[i].netscore[j][k];
            }
            else if(s.play[i].netscore[j][k]==min&&str.indexOf(s.play[i].referee[j])!=0)
            {
              str+=",";
              str+=s.play[i].referee[j];
            }
          }
        }
      }

      if(b)
      {
        str="在"+name+"花样动作中打最低分的裁判有:   "+str;
      }
      else
      {
        str="情况有些意外!!!";
      }
      JOptionPane.showMessageDialog(this,str);
    }
    else if(e.getActionCommand().equals("新建赛季数据文件"))
    {
      if(revised)
      {
        int ret=JOptionPane.showConfirmDialog(this,"数据已被修改,是否保存修改?");
        if(ret==JOptionPane.YES_OPTION)
          saveFile(0);
        else if(ret==JOptionPane.CANCEL_OPTION)
          return;
      }
      newFile();
    }
    else if(e.getActionCommand().equals("另存当前赛季数据"))
    {
      saveFile(1);
    }
    else if(e.getActionCommand().equals("打开赛季数据文件"))
    {
      if(revised&&matchseason!=null)
      {
        int ret=JOptionPane.showConfirmDialog(this,"数据已被修改,是否保存修改?");
        if(ret==JOptionPane.YES_OPTION)
          saveFile(0);
        else if(ret==JOptionPane.CANCEL_OPTION)
          return;
      }
      openFile();
    }
    else if(e.getActionCommand().equals("保存当前赛季数据"))
    {
      saveFile(0);
    }
    else if(e.getActionCommand().equals("关闭当前赛季数据"))
    {
      if(revised)
      {
        int ret=JOptionPane.showConfirmDialog(this,"数据已被修改,是否保存修改?");
        if(ret==JOptionPane.YES_OPTION)
          saveFile(0);
        else if(ret==JOptionPane.CANCEL_OPTION)
          return;
      }
      matchseason=null;
      fullname=null;
      currentsports=-1;
      showData(1);
    }
    else if(e.getActionCommand().equals("前一个运动会"))
    {
      if(matchseason==null||matchseason.sports==null) return;
      if(currentsports>0)
      {
        currentsports-=1;
        showData(1);
      }
    }
    else if(e.getActionCommand().equals("下一个运动会"))
    {
      if(matchseason!=null&&currentsports<matchseason.sports.length-1)
      {
        currentsports+=1;
        showData(1);
      }
    }
    else if(e.getActionCommand().equals("添加运动会"))
    {
      addSports();
      revised=true;
    }
    else if(e.getActionCommand().equals("保存当前运动会"))
    {
      saveData();
    }
    else if(e.getActionCommand().equals("删除当前运动会"))
    {
      if(matchseason!=null&&currentsports!=-1)
      {
        int ret=JOptionPane.showConfirmDialog(this,"真的要删除吗?");
        if(ret!=JOptionPane.YES_OPTION) return;

        matchseason.deleteSports(currentsports);
        if(matchseason.sports!=null)
        {
          currentsports=0;
          showData(1);
        }
        else
        {
          currentsports=-1;
          showData(1);
        }
        revised=true;
      }
      else

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -