import javax.swing.*;
import java.util.*;
public class KH_4 {
//输入整数字符串后,放到数组中,排序后输出
public static void main(String[] args) {
String s = JOptionPane.showInputDialog(null, "请输入整数", "输入对话框",
JOptionPane.PLAIN_MESSAGE);
StringTokenizer st = new StringTokenizer(s,", ");
int n = st.countTokens();
int a;int i;
int dx[]=new int[n];
for(i=0;i<=n-1;i++){
while(st.hasMoreTokens()) {
String s1 = st.nextToken();
a = Integer.parseInt(s1);
dx[i]=a;
System.out.print(" "+dx[i]); } }
System.out.println("\n");
int m=dx.length;
int k,j,tem;
for(k=0;k<=m-1;k++){
for(j=1;j<=m-1-k;j++){
if(dx[j-1]>dx[j]){
tem=dx[j];
dx[j]=dx[j-1];
dx[j-1]=tem;
}
}}
for(k=0;k<=m-1;k++){
System.out.print(" "+dx[k]);
}
}}
我运行后的结果不能排序,请问大家,我哪里写错了。谢谢,帮我改改,想了一下午,实在找不出来。 晕死
------解决方案--------------------
package com.hello;
import javax.swing.*;
import java.util.*;
public class dd {
// 输入整数字符串后,放到数组中,排序后输出
public static void main(String[] args) {
String s = JOptionPane.showInputDialog(null, "请输入整数", "输入对话框",
JOptionPane.PLAIN_MESSAGE);
int n = s.length();
int a;
int i;
int dx[] = new int[n];
for (i = 0; i <= n-1; i++) {
String str = s.substring(i,i+1);
dx[i] = Integer.parseInt(str);
}
System.out.println("\n");
int m = dx.length;
int k, j, tem;
for (k = 0; k <= m - 1; k++) {
for (j = 1; j <= m - 1 - k; j++) {
if (dx[j - 1] > dx[j]) {
tem = dx[j];
dx[j] = dx[j - 1];
dx[j - 1] = tem;
}
}
}
for (k = 0; k <= m - 1; k++) {
System.out.print(" " + dx[k]);
}
}
}