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+" ");
}
}