📄 students.java
字号:
tf11.setLocation(140,115);
tf11.setSize(200,20);
f11.add(tf11);
L21 = new Label("姓名");
tf21 = new TextField();
L21.setLocation(40,140);
L21.setSize(100,90);
f11.add(L21);
tf21.setLocation(140,170);
tf21.setSize(200,20);
f11.add(tf21);
L31 = new Label("性别");
tf31 = new TextField();
L31.setLocation(40,200);
L31.setSize(100,90);
f11.add(L31);
tf31.setLocation(140,235);
tf31.setSize(200,20);
f11.add(tf31);
L41 = new Label("年龄");
tf41 = new TextField();
L41.setLocation(40,260);
L41.setSize(100,90);
f11.add(L41);
tf41.setLocation(140,295);
tf41.setSize(200,20);
f11.add(tf41);
L51 = new Label("语文");
tf51 = new TextField();
L51.setLocation(40,320);
L51.setSize(100,90);
f11.add(L51);
tf51.setLocation(140,355);
tf51.setSize(200,20);
f11.add(tf51);
L61 = new Label("数学");
tf61 = new TextField();
L61.setLocation(40,380);
L61.setSize(100,90);
f11.add(L61);
tf61.setLocation(140,415);
tf61.setSize(200,20);
f11.add(tf61);
L71 = new Label("英语");
tf71 = new TextField();
L71.setLocation(40,440);
L71.setSize(100,90);
f11.add(L71);
tf71.setLocation(140,475);
tf71.setSize(200,20);
f11.add(tf71);
B1 = new Button("确定");
B1.addActionListener(this);
B1.setLocation(30,50);
B1.setSize(60,30);
f11.add(B1);
B2 = new Button("取消");
B2.addActionListener(this);
B2.setLocation(200,50);
B2.setSize(60,30);
f11.add(B2);
f11.setVisible(true);
}
if(buttonCaption.equals("确定"))
{
int k;
for (k=0;k<count;k++)
{
String s3=tf11.getText();
if(s3.equals(st[k].number))
{
st[k]=new student(tf11.getText(),tf21.getText(),tf31.getText(),tf41.getText(),tf51.getText(),tf61.getText(),tf71.getText());
break;
}
}
f11.setVisible(false);
if(k==count)
JOptionPane.showMessageDialog(null,"对不起,没有您要修改的学生信息!");
}
if(buttonCaption.equals("取消"))
{
f11.setVisible(false);
}
if(buttonCaption.equals("查询")) //按钮“查询”的监听程序
{
int i=0;
for(i=0;i<count;i++)
{
String s2=tf1.getText();
if(s2.equals(st[i].number))
{
tf1.setText(st[i].number);
tf2.setText(st[i].name);
tf3.setText(st[i].sex);
tf4.setText(st[i].age);
tf5.setText(st[i].Score[0]);
tf6.setText(st[i].Score[1]);
tf7.setText(st[i].Score[2]);
break;
}
}
if(i==count)
JOptionPane.showMessageDialog(null,"对不起,没有您要查询的学生信息!");
}
if(buttonCaption.equals("删除")) //按钮“删除”的监听程序
{
int j;
for(j=0;j<count;j++)
{
String s4=tf1.getText();
if(s4.equals(st[j].number))
{
if(j==count-1)
st[j]=new student();
else
st[j]=new student(st[j+1]);
break;
}
}
for(int k = j+1 ;k<count-1;k++) //删除某一学生信息后,将数组内后面的对象向前移一位
{
st[k]=new student(st[k+1]);
}
if(j==count)
JOptionPane.showMessageDialog(null,"对不起,没有您要删除的学生信息!");
count = count -1;
}
if(buttonCaption.equals("按语文成绩排序:")) //按钮“按语文成绩排序:”的监听程序
{
//按语文成绩排序
sb.delete(0,199); //每次排序前先将TextField清空
double arr[] = new double[100]; //将学生的成绩转换为Double类型
for(int w=0;w<count;w++)
{
arr[w]=Double.parseDouble(st[w].Score[0]);
}
Sort(arr,count); //调用排序函数
int q;
for(q=count-1;q>=0;q--) //排好序后找出对应的学生学号
{
int y;
for(y=0;y<count;y++)
{
if(Double.parseDouble(st[y].Score[0])==arr[q])
{
sb.append(st[y].number);
sb.append(" ");
break;
}
}
if((q>=1)&&(arr[q]==arr[q-1])) //如出现分数相等的情况,学号在前的排前面
{
q= q-1;
for(int r=y+1;r<count;r++)
{
if(Double.parseDouble(st[r].Score[0])==arr[q])
{
sb.append(st[r].number);
sb.append(" ");
break;
}
}
}
}
String s= sb.toString(); //将排好的学生学号输出至TextField
ta8.setText(s);
} //按数学成绩排序
if(buttonCaption.equals("按数学成绩排序:")) //按钮“按数学成绩排序:”的监听程序
{
sb1.delete(0,199); //每次排序前先将TextField清空
double arr1[] = new double[100]; //将学生的成绩转换为Double类型
for(int d=0;d<count;d++)
{
arr1[d]=Double.parseDouble(st[d].Score[1]);
}
Sort(arr1,count); //调用排序函数
int v;
for(v=count-1;v>=0;v--) //排好序后找出对应的学生学号
{
int a;
for(a=0;a<count;a++)
{
if(Double.parseDouble(st[a].Score[1])==arr1[v])
{
sb1.append(st[a].number);
sb1.append(" ");
break;
}
}
if((v>=1)&&(arr1[v]==arr1[v-1])) //如出现分数相等的情况,学号在前的排前面
{
v= v-1;
for(int c=a+1;c<count;c++)
{
if(Double.parseDouble(st[c].Score[1])==arr1[v])
{
sb1.append(st[c].number);
sb1.append(" ");
break;
}
}
}
}
String s11= sb1.toString(); //将排好的学生学号输出至TextField
ta9.setText(s11);
}
//按英语成绩排序
if(buttonCaption.equals("按英语成绩排序:")) //按钮“按英语成绩排序:”的监听程序
{
sb2.delete(0,199); //每次排序前先将TextField清空
double arr2[] = new double[100]; //将学生的成绩转换为Double类型
for(int g=0;g<count;g++)
{
arr2[g]=Double.parseDouble(st[g].Score[2]);
}
Sort(arr2,count); //调用排序函数
int x;
for(x=count-1;x>=0;x--)
{
int b;
for(b=0;b<count;b++) //排好序后找出对应的学生学号
{
if(Double.parseDouble(st[b].Score[2])==arr2[x])
{
sb2.append(st[b].number);
sb2.append(" ");
break;
}
}
if( (x>=1)&&(arr2[x]==arr2[x-1])) //如出现分数相等的情况,学号在前的排前面
{
x= x-1;
for(int t=b+1;t<count;t++)
{
if(Double.parseDouble(st[t].Score[2])==arr2[x])
{
sb2.append(st[t].number);
sb2.append(" ");
break;
}
}
}
}
String s12= sb2.toString(); //将排好的学生学号输出至TextField
ta10.setText(s12);
}
}
public void Sort(double arr[],int size) //排序函数,冒泡排序
{
int b=0;
for(int n=0;n<count-1;n++)
{
if (arr[n]>arr[n+1])
{
double m=arr[n];
arr[n]=arr[n+1];
arr[n+1]=m;
b=1;
}
else b=0;
}
if(b>0) Sort(arr,count);
else return;
}
// 覆盖WindowAdapter类中的windowClosing( )方法
public void windowClosing(WindowEvent e){
// 结束程序运行
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -