成绩排序
来源:互联网 发布:kms命令激活windows 7 编辑:程序博客网 时间:2024/06/10 07:34
public class Student implements Comparable {
String name;
float grade;
public Student(String name,float grade){ this.name = name; this.grade = grade;}@Overridepublic int compareTo(Student o) { // TODO Auto-generated method stub return (int)(o.grade-this.grade);}
}
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class StudentScore extends JFrame implements ActionListener {
JFrame jf;JTextField jt1;JTextField jt2;JTextArea jta;List<Student> list = new ArrayList<Student>();public static void main(String[] args) { StudentScore sc = new StudentScore();}StudentScore() { jf = new JFrame("成绩排序"); jf.setBounds(200, 100, 700, 400); jf.setLayout(new FlowLayout()); jt1 = new JTextField(10); jt2 = new JTextField(10); JButton jbutton = new JButton("确定"); Box box = Box.createHorizontalBox(); box.add(new Label("姓名:")); box.add(jt1); box.add(new Label("分数:")); box.add(jt2); box.add(Box.createHorizontalStrut(50)); box.add(jbutton); jf.add(box); jta = new JTextArea(40, 40); jf.add(jta); jf.setVisible(true); jbutton.addActionListener(this);}@Overridepublic void actionPerformed(ActionEvent arg0) { jta.setText(""); String name = jt1.getText(); String grade = jt2.getText(); if (!"".equals(name) && !"".equals(grade)) { list.add(new Student(name, Float.parseFloat(grade))); jta.append("当前插入的信息为:姓名:" + name + " 成绩:" + grade + "\n"); } Collections.sort(list);// 对list排序 Iterator<Student> iterator = list.iterator(); Student student; while (iterator.hasNext()) { student = iterator.next(); jta.append("name:" + student.name + " grade:" + student.grade + "\n"); }}
}
阅读全文