📄 student.java~260~
字号:
}
void setName(String stb)
{
name=stb;
}
String getName()
{
return name;
}
void setNumber(String stb)
{
number=stb;
}
String getNumber()
{
return number;
}
void setToclass(String stb)
{
toClass=stb;
}
String getToclass()
{
return toClass;
}
void setSex(String stb)
{
sex=stb;
}
String getSex()
{
return sex;
}
void setMarks(float[] fl)
{
for(int i=0;i<6;i++)
{
mark[i]=fl[i];
}
}
float getMark(int n)
{
return mark[n];
}
void setAverage(float f)
{
average=f;
}
float getAverage()
{
return average;
}
void setIndex(int n)
{
index=n;
}
int getIndex()
{
return index;
}
}
//学生基本信息数据库类结束
//整体排序类开始
class getAveIndex
{
int i,j;
float[]a=new float[20];//这里先暂时设为20的处理量,可以修改
int[]ind=new int[20];
getAveIndex()
{
if(!NewSetStudent.isEmpty())
{
for(i=0;i<a.length ;i++)
{
a[i]=0;
ind[i]=1;
}
for(i=0;i<NewSetStudent.size() ;i++)
a[i]=((setStudent) NewSetStudent.elementAt(i)).getAverage();
for(i=0;i<NewSetStudent.size();i++)
for(j=0;j<NewSetStudent.size();j++)
if(a[i]<a[j]) (ind[i])++;
for(i=0;i<NewSetStudent.size();i++)
((setStudent) NewSetStudent.elementAt(i)).setIndex(ind[i]);
}
}
}
class seachFrame extends Frame implements ItemListener,ActionListener
{
CheckboxGroup seachWays;
Checkbox na,nu,id;
Button close;
TextField seachInput;
TextArea tea;
boolean seach=false;
seachFrame()
{
super("查找");
seachWays = new CheckboxGroup();
na = new Checkbox("按名字", true, seachWays);
nu = new Checkbox("按学号", false, seachWays);
id = new Checkbox("按名次", false, seachWays);
seachInput=new TextField(8);
close=new Button("取消");
tea = new TextArea(10,90);
setLayout(new FlowLayout());//这一句至关重要,单选按钮组就靠它了
add(seachInput);
add(na);
add(nu);
add(id);
add(close);
add(tea);
na.addItemListener(this);
nu.addItemListener(this);
id.addItemListener(this);
close.addActionListener(this);
addWindowListener(new closeWin());
tea.setText("姓名\t学号\t班级\t性别\tJava\t汇编\t计组\t英语"
+"\t随机\t图论\t均分\t名次\n");
setSize(750,250);
setLocation(100,100);
setVisible(true);
show();
}
public void itemStateChanged(ItemEvent ie)
{
String str=seachInput.getText();
int i=0,j;
Checkbox choose=new Checkbox();
String[] srta=new String[6];
if (ie.getItemSelectable()instanceof Checkbox)
{
choose=(Checkbox)(ie.getItemSelectable());
if (choose.getLabel() == "按名字")
{
for (i = 0; i < NewSetStudent.size(); i++)
{
if(((setStudent)NewSetStudent.elementAt(i)).getName().equals(str))
{
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getName()+"\t");
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getNumber()+"\t");
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getToclass()+"\t");
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getSex()+"\t");
for (j= 0; j< 6; j++)
{
srta[j]=Float.toString(
((setStudent)NewSetStudent.elementAt(i)).getMark(j));
tea.append(srta[j] + "\t");
}
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getAverage()+"\t");
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getIndex()+"\n");
seach = true;
}
}
if (seach == false)
tea.append("\t\t\t\t找不到指定目标\n");
seach=false;
seachInput.setText("");
}//按名字的也结束
else if (choose.getLabel() == "按学号")
{
for (i = 0; i <NewSetStudent.size() ;i++)
{
if(((setStudent)NewSetStudent.elementAt(i)).getNumber().equals(str) )
{
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getName()+"\t");
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getNumber()+"\t");
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getToclass()+"\t");
tea.append(((setStudent)NewSetStudent.elementAt(i)).getSex()+"\t");
for (j = 0;j < 6;j++)
{
srta[j] = Float.toString(
((setStudent) NewSetStudent.elementAt(i)).getMark(j));
tea.append(srta[j] + "\t");
}
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getAverage()+"\t");
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getIndex()+"\n");
seach = true;
}
}
if (seach == false)
tea.append("\t\t\t\t找不到指定目标\n");
seach=false;
seachInput.setText("");
}//按名字的也结束
else
if(choose.getLabel() == "按名次")
{
int k=Integer.parseInt(str);
for (i = 0; i < NewSetStudent.size() ; i++)
{
if(((setStudent) NewSetStudent.elementAt(i)).getIndex()== k)
{
tea.append(
((setStudent)NewSetStudent.elementAt(i)).getName()+"\t");
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getNumber()+"\t");
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getToclass()+"\t");
tea.append(((setStudent)NewSetStudent.elementAt(i)).getSex()+"\t");
for (j = 0;j < 6;j++)
{
srta[j] = Float.toString(
((setStudent) NewSetStudent.elementAt(i)).getMark(j));
tea.append(srta[j] + "\t");
}
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getAverage()+"\t");
tea.append(
((setStudent) NewSetStudent.elementAt(i)).getIndex()+"\n");
seach = true;
}
}
if (seach == false)
tea.append("\t\t\t\t找不到指定目标\n");
seach=false;
seachInput.setText("");
}//按名字的也结束*/
}
}//itemPerformed结束
public void actionPerformed(ActionEvent ap)
{
if(ap.getSource()==close)
{
dispose();
}
}
}
//查找类结束
//删除类开始
class deleteFrame extends Frame implements ActionListener,ItemListener
{
CheckboxGroup deleteWays;
Checkbox na,nu,id;
Button btn;
TextField deleteInput;
TextArea tea;
boolean delete=false;
deleteFrame()
{
super("删除");
deleteWays = new CheckboxGroup();
na = new Checkbox("按名字", true,deleteWays);
nu = new Checkbox("按学号", false, deleteWays);
id = new Checkbox("按名次", false, deleteWays);
deleteInput=new TextField(10);
btn=new Button("关闭");
tea = new TextArea("欢迎您的使用",2,50);
setLayout(new FlowLayout());//这一句至关重要,单选按钮组就靠它了
add(deleteInput);
add(na);
add(nu);
add(id);
add(btn);
add(tea);
na.addItemListener(this);
nu.addItemListener(this);
id.addItemListener(this);
btn.addActionListener(this);
close.addActionListener(this);
addWindowListener(new closeWin());
setSize(400,400);
setVisible(true);
setLocation(100,100);
show();
}
public void itemStateChanged(ItemEvent ie)
{
String str=deleteInput.getText();//在这里本人对这种算法持保留意见
int i=0,j; //因为若是在连续挨着的多个对象有
Checkbox choose=new Checkbox(); //同样的条件的情况下,那么情况会
String[] srta=new String[6]; //不会是前面的删除了,而后一个仍在?
if(ie.getItemSelectable()instanceof Checkbox)
{
choose=(Checkbox)(ie.getItemSelectable());
if (choose.getLabel() == "按名字")
{
for(i=0;i<NewSetStudent.size();i++)
{
if(((setStudent) NewSetStudent.elementAt(i)).getName().equals(str))
{
NewSetStudent.removeElementAt(i);
delete=true;
informationChange=true;
tea.setText("删除成功");
}
}
if(delete==false)
tea.setText("\t\t\t未找到");
delete=false;
}
else
if (choose.getLabel() == "按学号")
{
for(i=0;i<NewSetStudent.size();i++)
{
if(((setStudent) NewSetStudent.elementAt(i)).getNumber().equals(str))
{
NewSetStudent.removeElementAt(i);
delete=true;
informationChange=true;
tea.setText("删除成功");
}
}
if(delete==false)
tea.setText("\t\t\t未找到");
delete=false;
}
else
if (choose.getLabel() == "按名次")
{
for(i=0;i<NewSetStudent.size();i++)
{
if ( Integer.toString(((
setStudent) NewSetStudent.elementAt(i)).getIndex()).equals(str))
{
NewSetStudent.removeElementAt(i);
delete=true;
informationChange=true;
tea.setText("删除成功");
}
}
if(delete==false)
tea.setText("\t\t\t未找到");
delete=false;
}
}
}
public void actionPerformed(ActionEvent ap)
{
if(ap.getSource() ==btn)
{
dispose();
}
}
}
//删除类结束
//修改类开始
class changeFrame extends Frame implements ActionListener
{
//这里的东西几乎就是将enterInformationFrame里面的复制过来的
//这里其实可以用很巧妙的方法,不说了,且看下面的代码,自己可以得出来
Label prompt,sub1_prompt,sub2_prompt,sub3_prompt,
sub4_prompt,sub5_prompt,sub6_prompt,nameprompt,
numberprompt,classprompt,sexprompt;
TextField inputname,inputnumber,inputclass,inputsex,
input_sub1_mark,input_sub2_mark,input_sub3_mark,
input_sub4_mark,input_sub5_mark,input_sub6_mark;
Button btn1,btn2,btn3;
TextArea tea;
float[] fl={0,0,0,0,0,0};
int i,r;
String[] srta=new String[8];
boolean find=false;
changeFrame()
{
super("修改");
tea=new TextArea(25,100);
btn1=new Button("查找");
btn2=new Button("修改");
btn3=new Button("关闭");
nameprompt=new Label("姓名");
numberprompt=new Label("学号");
classprompt=new Label("班级");
sexprompt=new Label("性别");
prompt=new Label(" 请输入对象特征");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -