多语言展示
当前在线:1232今日阅读:91今日分享:37

采用java中sort实现对数组的排序(gui窗口)

在进行某一个项目的开发时我们往往 需要将数组进行排序,我们固然后很多排序算法可以实现,但是如果每次都需要我们编写相关的程序来实现的话就有些麻烦了,其实在java中的数组变量有一个sort方法可以很方便的是实现我们数组的排序。
工具/原料
1

eclipse软件

2

win7系统

方法/步骤
1

1.打开IDE:所谓IED就是java的开发环境,小编采用的是eclipse软件。

2

2.建立java工程:建立一个java工程,其具体的目录结构和初始的代码如下图所示。

2.编写代码
1

1.类的结构:由于该排序采用的是java中集成的的方法,所以,该部分代码相对简单一些,主要由四个方法组成,构造方法、数据获取方法、事件处理方法,main方法。例中的属性主要设计到,窗口的的模块,如图所示。

2

2.构造方法:该方法主要用来对桌面控件进行相关的配置,设计出自己需要的窗口界面,大小等。具体代码如下:public MySort() { jp.setLayout(null); jl.setBounds(30, 10, 340, 36); jp.add(jl); jl2.setBounds(30, 130, 100, 30); jp.add(jl2); jsp_in.setBounds(30, 45, 340, 70); jp.add(jsp_in); jta_in.setLineWrap(true); jsp_out.setBounds(30, 165, 340, 70); jp.add(jsp_out); jta_out.setLineWrap(true); jb_act.setBounds(200, 125, 70, 30); jp.add(jb_act); jb_cle.setBounds(300, 125, 70, 30); jp.add(jb_cle); jb_act.addActionListener(this); jb_cle.addActionListener(this); this.add(jp); this.setTitle('sort法排序'); this.setBounds(100, 100, 400, 300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); this.setResizable(false); }

3

3.数据获取:由于窗口文本框中的数据是字符串且有可能无法使用,所以需要一个方法专门对此数据进行处理成,我们先要的数组,且含有排序方法的 实现具体代码如下:public void getArraySort() { String arrayStr = jta_in.getText().trim(); if (arrayStr.equals('')) { JOptionPane.showMessageDialog(null, '请输入数字内容'); return; } for (int i = 0; i < arrayStr.length(); i++) { char charAt = arrayStr.charAt(i); if (!Character.isDigit(charAt) && (charAt != ' ') && (charAt != '.')) { JOptionPane.showMessageDialog(null, '输入包含非数字内容'); jta_in.setText(''); return; } } String[] numStrs = arrayStr.split(' {1,}'); double[] numArray = new double[numStrs.length]; for (int i = 0; i < numArray.length; i++) { String[] temp = numStrs[i].split('.{1,}'); char[] tempstrs = numStrs[i].toCharArray(); if ((tempstrs[0] == '.') || (tempstrs[tempstrs.length - 1] == '.') || (temp.length >= 3)) { JOptionPane.showMessageDialog(null, '输入包含非数字内容'); jta_in.setText(''); return; } numArray[i] = Double.valueOf(numStrs[i]); } array = numArray; jta_out.setText('输入的的原始数据是:\n'); for(String string:numStrs){ jta_out.append(string+'   '); } jta_out.append('\n'); Arrays.sort(array); jta_out.append('排序后的数据是:\n'); for(double value:array){ jta_out.append(value+'   '); } }

4

4.事件处理方法:窗口中有两个按钮,该方法主要涉及到对实现按钮按下后所触发的事件,具体代码如下,: public void actionPerformed(ActionEvent e) { if (e.getSource() == jb_act) { getArraySort(); }  if(e.getSource()==jb_cle){ jta_in.setText(''); jta_out.setText(''); } }

5

5.main方法:main方法使用里执行我们编写的类的,类需要实例化成一个对象以后才能执行,本方法中就实例化了一个类,具体操作代码如下:

3.效果验证
1

1.编译执行:单击“编译并运行”按钮,就可以看到我们做编写的界面效果了,如果大家觉得该效果不好的话也可以对构造方法进行改动。

2

2.验证效果:接着我们根据提示往文本框中输入相关的数据,按下“排序”按钮就可以看到我们的效果了。

注意事项
1

如有疑问可以留言

2

分享可以使我们懂得更多

推荐信息