java如何采用冒泡法进行排序(建立窗口界面)
1、1.打开IDE:
打开我们编程所需要的程序,如图所示,采用的是eclipse软件;
2、2.建立java工程:
在eclipse软件中建立一个java工程,具体方法,这里就不多陈述了,建立好的工程如下图所示。
1、1.模型建立:
java编程之前需要编程,来说明java程序的结构,根据要求本文要有很多的窗口控件属性和几个方法,即构造方法,数据处理方法,排序方法,事件处理方法和main方法。
2、2.构造方法的建立:
该方法用来对类进行初始化,具体代码如下:
jp.setLayout(null);
jl.setBounds(30, 10, 340, 36);
jp.add(jl);
jsp_in.setBounds(30, 45, 340, 70);
jp.add(jsp_in);
jta_in.setLineWrap(true);
jsp_out.setBounds(30, 165, 340, 170);
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("选择法排序");
this.setBounds(100, 100, 400, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setResizable(false);
3、3.数处理方法:
该方法用来从我们的输入窗口进行数据输入时使用的,具体代码如下:
String arrayStr=jta_in.getText().trim();
if(arrayStr.equals("")){
JOptionPane.showMessageDialog(null,"请输入数字内容");
return null;
}
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 null;
}
}
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 null;
}
numArray[i]=Double.valueOf(numStrs[i]);
}
return numArray;
4、4.排序方法
该方法用来,对获取的数据采用冒泡法排序,并将这个排序过输出给到界面中去。
public void actSelection(double[] array){
jta_out.setText("");
for(int i=1;i<array.length;i++){
for(int j=0;j<array.length-i;j++){
if(array[j]>array[j+1]){
double temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
jta_out.append(array[j]+" ");
}
jta_out.append("【");
for(int j=array.length-i;j<array.length ;j++){
jta_out.append(array[j]+" ");
}
jta_out.append("】\n");
}
}
5、5.事件处理方法
用来对按钮触发的事件进行处理,代码如下:
if(e.getSource()==jb_act){
actSelection(getArray());
}else{
jta_in.setText("");
jta_out.setText("");
}
6、6.main方法:
是整个程序的执行的入口,这里仅仅声明一个对象就可以了。
public static void main(String[] args) {
new BubbleSort();
}
1、1.编译运行:
单击窗口的中的“编译与运行”按钮,接着就会出现我们的程序的界面,如下图所示。
2、2.查看结果:
在相应的输入框中,输入我们的要排序的数据,接着按下阿牛,就可以看到我们的排序结果,如下图所示。