成绩排序

编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文
[java] view plain copy
public class student implements Comparable<student>{    
            
        String name;    
        double grade;    
            
        public student(String name,double grade) {    
            // TODO Auto-generated constructor stub    
            this.name = name;    
            this.grade = 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;    
        }    
        public int compareTo(student o) {    
            // TODO Auto-generated method stub    
            if(this.grade<o.grade)    
            {    
                return 0;    
            }    
            return 1;    
        }    
  
}  
import java.awt.Button;  
import java.awt.Label;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
import java.util.ArrayList;    
import java.util.Iterator;    
  
import javax.swing.Box;  
import javax.swing.JFrame;  
import javax.swing.JTextArea;  
import javax.swing.JTextField;  
public class WindowBoxLayout extends JFrame{  
    Box baseBox,boxV1,boxv2,boxV3,boxV4;    
    JTextField text1,text2;    
    Button btn2;    
    Button btn1;    
    ArrayList<student> list = new ArrayList<student>();    
    public WindowBoxLayout()    
    {    
        setLayout(new java.awt.FlowLayout());    
        init();    
        setVisible(true);    
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
    }    
    void init(){    
        boxV1 = Box.createHorizontalBox();    
        boxV1.add(new Label("姓名"));    
        boxV1.add(Box.createHorizontalStrut(8));    
        text1 = new JTextField(8);    
        boxV1.add(text1);    
            
            
        boxv2 = Box.createHorizontalBox();    
        boxv2.add(new Label("成绩"));    
        boxv2.add(Box.createHorizontalStrut(8));    
        text2=new JTextField(8);    
        boxv2.add(text2);    
            
            
        boxV3 = Box.createHorizontalBox();    
        btn1 = new Button("添加");    
        boxV3.add(btn1);    
        boxV3.add(Box.createHorizontalStrut(8));    
        btn2 = new Button("排序");    
        boxV3.add(btn2);    
            
        boxV4 = Box.createHorizontalBox();    
        JTextArea text3 = new JTextArea(9,20);    
        boxV4.add(text3);    
            
        baseBox = Box.createVerticalBox();    
        baseBox.add(boxV1);    
        baseBox.add(Box.createVerticalStrut(10));    
        baseBox.add(boxv2);    
        baseBox.add(Box.createVerticalStrut(10));    
        baseBox.add(boxV3);    
        add(baseBox);    
        baseBox.add(Box.createVerticalStrut(10));    
        baseBox.add(boxV4);    
            
            
        btn1.addActionListener(new ActionListener() {    
            public void actionPerformed(ActionEvent e) {    
                // TODO Auto-generated method stub    
                String name = text1.getText();    
                double grade = Double.parseDouble(text2.getText());    
                //System.out.println(name+"  "+grade);    
                student s = new student(name, grade);    
                //System.out.println(s.name+"  "+s.grade);    
                if (list.isEmpty()==true) {    
                    list.add(0,s);    
                }    
                else    
                {    
                    int i=0;    
                    while(i<list.size())    
                    {    
                        student student = list.get(i);    
                        System.out.println(student.name+"  "+student.grade);    
                        if(student.compareTo(s)==0)    
                        {    
                                
                            break;    
                        }    
                        i++;    
                        System.out.println(i);    
                    }    
                    list.add(i,s);    
                        
                }    
            }    
        });           
        btn2.addActionListener(new ActionListener() {    
            public void actionPerformed(ActionEvent e) {    
                // TODO Auto-generated method stub    
                Iterator<student> it = list.iterator();    
                while(it.hasNext())    
                { student student =(student) it.next();    
                  text3.append("姓名:"+student.name+" "+"成绩:"+student.grade+"\n");    
                    //System.out.println(student.name+" "+student.grade+"\n");    
                        
                }    
            }    
        });    
    }    
        
}    
import java.util.ArrayList;    
@SuppressWarnings("unused")  
public class test {  
  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub   
                WindowBoxLayout w = new WindowBoxLayout();    
                w.setBounds(100,100,310,350);    
                w.setTitle("成绩排序");                 
            }    
}  

本区中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值