📄 scoresystemmain.java
字号:
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&¤tsports<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&¤tsports!=-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 + -