?? student.java~257~
字號:
average=total/6;
}
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("班級");
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -