📄 chengji.java
字号:
// sunke.java这是一个学生成绩管理系统
//时间2007年11月17日, 晚上7点40分
//作者 孙科
//学号060341126
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.lang.*;
public class sunke
{
public static void main(String args[])
{
new sk("欢迎您进入学生成绩管理系统");
}
}
class sk extends Frame implements ActionListener
{
static int i;
student stu[] = new student[6];
TextField text1,text2,text3,text4,text5,text6,text7,text8,text9;
Button button0,button1,button2,button3,button4,button5;
RandomAccessFile r;
//每个学生的成绩信息
dialog dia;
//定义一个窗口,而且设定他的布局
File f = new File("data.txt");
static int sum;
static String name[]= new String[6];
static int gerenzongfen[] = new int[6];
static int count = 0;
sk(String s)
{
super(s);
try
{
r = new RandomAccessFile("data.txt","rw");}
catch(Exception e){ }
GridLayout grid = new GridLayout(9,1);
setLayout(grid);
setSize(600,400);
setVisible(true);
setResizable(false);
setBackground(Color.white);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
//定义一个面板,用于放置提示信息-输入你的信息
Panel panel0 = new Panel();
panel0.setBackground(Color.CYAN);
panel0.setForeground(Color.WHITE);
Font f = new Font("录入信息",Font.LAYOUT_NO_LIMIT_CONTEXT,18);
panel0.setFont(f);
Label label0 = new Label("录入信息");
panel0.add(label0); //在面板中加入标签
add(panel0); //将面板加入到窗口中
validate(); //刷新以保证窗口中的组件能够正常显示
//再次创建一个画板,用于放置学号和姓名
FlowLayout flow = new FlowLayout(); //设置面板的对齐方式
flow.setAlignment(FlowLayout.RIGHT);
Label label1 = new Label("学号");
Label label2 = new Label("名字");
text1 = new TextField(10);
text2= new TextField(12);
Panel panel1 = new Panel(); //放入姓名和输入框
panel1.add(label1);panel1.add(text1);
panel1.add(label2);panel1.add(text2);
panel1.setLayout(flow);
flow.setAlignment(FlowLayout.CENTER);
add(panel1);
validate();
//设计输入成绩的界面,放入一个面板中
/*用了panel2 ,panel3面板分别放入一个
*输入
*
*
*
*/
Label label4,label5,label6,label3;//描述课程德文字
label3 = new Label("java");label4 = new Label("面向对象学");
label5 = new Label("电路分析基础");label6 = new Label("物理");
text3 = new TextField(10);text4 = new TextField(12);
text5 = new TextField(10);text6 = new TextField(12);
Panel panel2,panel3,panel4,panel5;
//声明几个面板
panel2 = new Panel();panel3=new Panel();
panel4 = new Panel();panel5=new Panel();
panel2.add(label3);panel2.add(text3);
panel2.add(label4);panel2.add(text4);
panel3.add(label5);panel3.add(text5);
panel3.add(label6);panel3.add(text6);
panel2.setLayout(flow);panel3.setLayout(flow);
flow.setAlignment(FlowLayout.CENTER);
add(panel2);add(panel3);
//计算成绩
Label label7,label8,label9;
label7 = new Label("个人总分");label8 = new Label("班级总分");
label9 = new Label("班平均成绩");
text7 = new TextField(4);text8= new TextField(4);
text9 = new TextField(4);
text7.setEditable(false);text8.setEditable(false);text9.setEditable(false);
panel4.add(label7);panel4.add(text7);
panel4.add(label8);panel4.add(text8);
panel4.add(label9);panel4.add(text9);
add(panel4);
//加入功能按钮
button0 = new Button("录入成绩");
button1 = new Button("个人成绩");
button2 = new Button("班级总成绩");
button3 = new Button("平均成绩");
button4 = new Button("排序");
button5 = new Button("继续录入");
panel5.add(button0);panel5.add(button1);panel5.add(button2);
panel5.setLayout(flow);
add(panel5);
Panel panel6 = new Panel();
panel6.add(button3);panel6.add(button4);panel6.add(button5);
panel6.setLayout(flow);
add(panel6);
flow.setAlignment(FlowLayout.CENTER);
validate();
text1.addActionListener(this);
text2.addActionListener(this);
text3.addActionListener(this);
text4.addActionListener(this);
text5.addActionListener(this);
text6.addActionListener(this);
button0.addActionListener(this);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
//button4.addActionListener(this);
button5.addActionListener(this);
dia = new dialog(this,"排序结果:",false);
dia.setSize(200,400);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button0)
{
String score[] = new String[6];
score[0] = text1.getText()+"";
score[1] = text2.getText()+"";
score[2] = text3.getText()+"";
score[3] = text4.getText()+"";
score[4] = text5.getText()+"";
score[5] = text6.getText()+"";
try{
r.writeUTF("学号:");
r.writeBytes(score[0]);
r.writeUTF("名字:");
r.writeUTF(score[1]);
name[count]=score[1];
r.writeUTF("java");
r.writeBytes(score[2]);
r.writeUTF("面向对象学");
r.writeBytes(score[3]);
r.writeUTF("电路分析基础");
r.writeBytes(score[4]);
r.writeUTF("物理");
r.writeBytes((score[5]));
r.writeChar('\n');
sum+=Integer.parseInt(text3.getText());
sum+=Integer.parseInt(text4.getText());
sum+=Integer.parseInt(text5.getText());
sum+=Integer.parseInt(text6.getText());
gerenzongfen[count] = sum;
count++;
}
catch(IOException e1){}
}
if(e.getSource()==button1)
{
int sum1 = 0;
sum1+=Integer.parseInt(text3.getText());
sum1+=Integer.parseInt(text4.getText());
sum1+=Integer.parseInt(text5.getText());
sum1+=Integer.parseInt(text6.getText());
text7.setText(String.valueOf(sum1));
}
if(e.getSource()==button2)
{
text8.setText(String.valueOf(sum));
}
if(e.getSource()==button3)
{
text9.setText(String.valueOf(sum/6.0));
}
if(e.getSource()==button4) //排序按钮
{ //显示排序信息
dia.setVisible(true);
sort(gerenzongfen,6,name);
String temp = "";
for (int i=0; i<6; i++)
{
temp = temp+String.valueOf(i+1)+name[i]+" ";
}
dia.sort_info.setText(String.valueOf(temp));
}
if(e.getSource()==button5)
{
text1.setText("");
text2.setText("");
text3.setText("");
text4.setText("");
text5.setText("");
text6.setText("");
text7.setText("");
text8.setText("");
text9.setText("");
}
/**************************************************************/
}
void sort(int score[],int n,String name[])
{
/*int smallindex;
for(int i=0; i<n-1; i++)
{
smallindex=i;
for(int j=i+1;j<n;j++)
{
if(score[smallindex]>score[j])
{
smallindex=j;
}
}
int temp;
temp=score[i];
score[i]=score[smallindex];
score[smallindex]=temp;
String s;
s=name[i];
name[i]=name[smallindex];
name[smallindex]=s;
}*/
for(int i=0;i<n;i++)
for(int j=1;j<n-i;j++)
{
if(score[i]>score[j])
{
int temp;
temp=score[j];
score[j]=score[i];
score[i]=temp;
String s;
s=name[j];
name[j]=name[i];
name[i]=s;
}
}
}
}
//对话框类
class dialog extends Dialog
{
int message = -1;
Label sort_info = new Label();
dialog(Frame f,String s,boolean b)
{
super(f,s,b);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
message=-1;setVisible(false);
}
});
add(sort_info);
}
}
class student
{
public String name,id;
public int math,english,physic,pe;
public int get_personnal_sum()
{
return math+english+physic+pe;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -