中国地质大学北京信息管理与信息系统——Java程序设计第二次上机part2窗口输入十位数字,然后排序

实验六:
窗口输入数字,排序后保存到文件里,然后,显示到界面上。

package learning_swing;

import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

public class homework6 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame jf = new JFrame();
		jf.setLayout(new GridLayout(12,2));
		JLabel l1=new JLabel("请输入十个数值");
		JLabel l2=new JLabel("选择排序方法");
		jf.add(l1);jf.add(l2);
		JTextField a[]=new JTextField[10]; //十个同类型的JTextField对象,直接用对象数组好了
		int number[]=new int[10];
		for(int i=0;i<10;i++) {
			number[i]=0;
			a[i]=new JTextField("");
			jf.add(a[i]);
		}
		JButton b1=new JButton("冒泡法——倒序");
		b1.addActionListener(new AbstractAction() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				for(int i=0;i<10;i++) {
					number[i]=Integer.parseInt(a[i].getText());
				}
				for(int i=0;i<10;i++) {
					for(int j=0;j+1<10-i;j++) {
						if(number[j]<number[j+1]) {
							int t=number[j];
							number[j]=number[j+1];
							number[j+1]=t;
						}
					}
				}
				for(int i=0;i<10;i++) {
					a[i].setText(""+number[i]);
				}
				new paixu();
				try {
					File file=new File("/Users/morty/Desktop/java_text_paixu.txt");
					if(!file.exists()) {
						file.createNewFile();
					}
					///Users/morty/eclipse-workspace/Nobody care
					FileWriter fileWriter=new FileWriter("/Users/morty/Desktop/java_text_paixu.txt",true);
					for(int i=0;i<10;i++) {
						fileWriter.write(number[i]+" ");
					}
					fileWriter.write("\n");
					fileWriter.close();
				}catch(IOException e1){
					e1.printStackTrace();
				}
			}
		});
		
		JButton b2=new JButton("选择法——正序");
		b2.addActionListener(new AbstractAction() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				for(int i=0;i<10;i++) {
					number[i]=Integer.parseInt(a[i].getText());
				}
				for(int i=0;i<10;i++) {
					int val=number[i];
					int index=i;
					for(int j=i;j<10;j++) {
						if(number[j]<val) {
							val=number[j];
							index=j;
						}
					}
					int t=number[index];
					number[index]=number[i];
					number[i]=t;
				}
				for(int i=0;i<10;i++) {
					a[i].setText(""+number[i]);
				}
				new paixu();
				try {
					File file=new File("/Users/morty/Desktop/java_text_paixu.txt");
					if(!file.exists()) {
						file.createNewFile();
					}
					///Users/morty/eclipse-workspace/Nobody care
					FileWriter fileWriter=new FileWriter("/Users/morty/Desktop/java_text_paixu.txt",true);
					for(int i=0;i<10;i++) {
						fileWriter.write(number[i]+" ");
					}
					fileWriter.write("\n");
					fileWriter.close();
				}catch(IOException e1){
					e1.printStackTrace();
				}
			}
		});
		jf.add(l1);jf.add(l2);
		for(int i=0;i<10;i++) jf.add(a[i]);
		jf.add(b1);jf.add(b2);
		jf.setBounds(500,250,400,400);
		jf.setVisible(true);
		jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	}
}
class paixu extends JDialog{
	public paixu() {
		this.setVisible(true);this.setBounds(500,250,200,80);Container c = this.getContentPane();
		JLabel l1= new JLabel("排序成功",JLabel.CENTER);
		c.add(l1);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值