泛式——学生成绩排序
来源:互联网 发布:python解析xml文件 编辑:程序博客网 时间:2024/04/29 16:57
编写一个应用程序,
用户分别从两个文本框输入学术的姓名和分数,
程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
public class Student implements Comparable<Student> {String name;double grade;public Student(String name,double grade) {this.name=name;this.grade=grade;}@Overridepublic int compareTo(Student s) {// TODO Auto-generated method stubif(s.grade>this.grade)return 1;if(s.grade==this.grade)return 0;else return -1;}}
import java.awt.BorderLayout;import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Iterator;import javax.swing.*;public class GradeSort extends JFrame implements ActionListener{public static void main(String[] args) {// TODO Auto-generated method stubGradeSort gsWin=new GradeSort();}Container contentPane;JPanel panel;JLabel lname,lgrade;JTextField tfname,tfgrade;JButton submit;JTextArea area;ArrayList<Student> list=new ArrayList<Student>();public GradeSort() {init();setTitle("学生成绩排序");//设置窗口标题setLocation(30,30);//设置窗口位置setSize(600,600);//设置窗口大小setVisible(true);//设置窗口是否可见setDefaultCloseOperation(DISPOSE_ON_CLOSE);//设置关闭图标如何处理}void init() {//设置容器contentPane=getContentPane();//设置JPanel panel面板panel=new JPanel();//设置FlowLayout布局FlowLayout flow=new FlowLayout();panel.setLayout(flow);contentPane.add(panel,BorderLayout.NORTH);Box box=Box.createHorizontalBox();lname=new JLabel("姓名");lgrade=new JLabel("成绩");tfname=new JTextField(10);tfgrade=new JTextField(10);submit=new JButton("确定");box.add(lname);box.add(tfname);box.add(lgrade);box.add(tfgrade);box.add(submit);panel.add(box);//设置文本区area=new JTextArea();JScrollPane pane=new JScrollPane(area);contentPane.add(pane,BorderLayout.CENTER);submit.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubarea.setText("");String name=tfname.getText();double grade=Double.parseDouble(tfgrade.getText());if(name.length()>0) {Student student=new Student(name,grade);if(e.getSource()==submit){area.append("姓名:"+tfname.getText()+" 成绩:"+tfgrade.getText()+"\n");list.add(student);}area.append("排序后:"+"\n");Collections.sort(list);Iterator<Student> it=list.iterator();while(it.hasNext()) {Student stu=it.next();area.append("姓名:"+tfname.getText()+" 成绩:"+tfgrade.getText()+"\n");}}}});}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub}}
阅读全文
0 0
- 泛式——学生成绩排序
- java实验题——学生成绩排序并打印
- 结构体—根据学生的成绩从高到低排序
- 学生成绩排序
- 学生成绩排序
- 学生成绩排序
- 学生成绩排序
- 学生成绩排序
- 学生成绩排序-练习
- C++学生成绩排序
- 学生成绩排序
- Io排序计算学生成绩
- 学生成绩,年龄排序实现
- 学生对象成绩排序(Comparable)
- 输入学生成绩并排序
- 对学生成绩的排序,
- 《第十六周实验报告任务2——学生成绩排序》
- 行列转换——求学生成绩
- 用rvm安装升级ruby
- 神经网络图灵机的通俗解释和详细过程及应用?
- Java集合(四)
- 记住它,管理员还加班?不能够!
- 全球首例无人驾驶公交在中国上路!世界震惊!
- 泛式——学生成绩排序
- 【CIO早班车】倾听员工的声音,我们是专业的!
- 处理对象的多种状态及其相互转换——状态模式(四)
- 华为云:容器技术加速企业业务云化创新
- git 分支切换:提示本地文件已经修改,无法切换,请先保存
- Python字符串格式化
- 使用Java统计英文文章的单词频率。
- CUDA学习笔记(2) 第一个CUDA程序
- 第一章漫话自动化测试