练习2

package 练习2;

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;
	}
	@Override
	public int compareTo(Student o) {
		// TODO Auto-generated method stub
		if(this.grade<o.grade)
		{
			return 0;
		}
		return 1;
	}
	
	

}

package 练习2;

import java.awt.Button;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;

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() {
			
			@Override
			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() {
			
			@Override
			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");
					
				}
			}
		});
	}
	
}

package 练习2;

import java.util.ArrayList;

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("成绩排序");
		
		
	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值