Java集合框架上机练习题-2

来源:互联网 发布:手机模拟期货软件 编辑:程序博客网 时间:2024/06/07 12:17

2 编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。

package test;import java.awt.BorderLayout;import java.awt.Component;import java.awt.Container;import java.awt.FlowLayout;import java.awt.GridLayout;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.Comparator;import javax.swing.Box;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;public class demo_8 {    public static void main(String[] args) {        // TODO Auto-generated method stub        new Window();    }}class Window extends JFrame implements ActionListener{    Box bx_1,bx_2;    JTextField jt1=new JTextField(10);    JTextField jt2=new JTextField(10);    JButton button=new JButton("提交");    Container container=getContentPane();    JTextArea jTextArea=new JTextArea();    JPanel jPanel1=new JPanel();    ArrayList<stu> list=new ArrayList<stu>();    Window() {        // TODO Auto-generated constructor stub、        bx_1=Box.createHorizontalBox();        bx_1.add(new Label("姓名:"));        bx_1.add(jt1);        bx_1.add(Box.createHorizontalStrut(8));        bx_1.add(new Label("分数"));        bx_1.add(jt2);        bx_1.add(button);        jPanel1.add(bx_1);        jPanel1.setLayout(new FlowLayout());        container.add(jPanel1,BorderLayout.NORTH);        JScrollPane jScrollPane=new JScrollPane(jTextArea);        add(jScrollPane);        container.add(jScrollPane, BorderLayout.CENTER);        setTitle("窗口");        setSize(500,400);        setVisible(true);        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        button.addActionListener(this);    }    public void actionPerformed(ActionEvent e){        String name=jt1.getText().toString();        double grade=Double.parseDouble(jt2.getText());        stu s=new stu();        s.setName(name);        s.setGrade(grade);        list.add(s);        Collections.sort(list, new SortByGrade());        jTextArea.setText(null);        for (stu stu : list) {            jTextArea.append(stu.getName()+"  "+stu.getGrade()+"\n");        }    }   }class SortByGrade implements Comparator{    @Override    public int compare(Object o1, Object o2) {        // TODO Auto-generated method stub        stu s1=(stu)o1;        stu s2=(stu)o2;        return s1.getGrade()<=s2.getGrade()?1:-1;    }}class stu{    String name;    double grade;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public double getGrade() {        return grade;    }    public void setGrade(double grade) {        this.grade = grade;    }}

这里写图片描述

原创粉丝点击