泛式——学生成绩排序
2017-12-05 19:07
218 查看
编写一个应用程序,
用户分别从两个文本框输入学术的姓名和分数,
程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
public class Student implements Comparable<Student> {
String name;
double grade;
public Student(String name,double grade) {
this.name=name;
this.grade=grade;
}
@Override
public int compareTo(Student s) {
// TODO Auto-generated method stub
if(s.grade>this.grade)
return 1;
if(s.grade==this.grade)
return 0;
else return -1;
}
}
用户分别从两个文本框输入学术的姓名和分数,
程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
public class Student implements Comparable<Student> {
String name;
double grade;
public Student(String name,double grade) {
this.name=name;
this.grade=grade;
}
@Override
public int compareTo(Student s) {
// TODO Auto-generated method stub
if(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 stub GradeSort 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 stub area.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"); } } } }); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub } }
相关文章推荐
- 泛式——学生成绩排序
- 泛式——学生成绩排序
- 泛式——学生成绩排序
- 泛式——学生成绩排序
- 泛式——学生成绩排序
- 泛式——学生成绩排序
- 泛式——学生成绩排序
- 泛式——学生成绩排序
- 泛式——学生成绩排序
- 泛式——学生成绩排序
- 泛式——学生成绩排序
- 泛式——学生成绩排序
- C#里,输入任何几个学生的成绩,用冒泡排序实现从小到排序。
- IO流练习---学生成绩排序存储(map中按值排序方法与各集合间的转换)
- 将学生的姓名成绩输入到Map中,并用分数排序前三名
- C++第十六周【任务二】 学生成绩排序
- 数组实现学生成绩录入、求最高分、最低分、平均分和排序
- lesson 9:编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
- JSP内置对象综合实例:学生成绩排序
- 指针冒泡算法====学生成绩的排序