java程序 输入n个数字,以逗号隔开,然后升序排列,再重新输出

如题所述

思路如下:
1,录入字符串

2,使用正则表达式分割

3,转换为int数组

4,排序

5,拼接,代码如下:

import java.util.Arrays;
import java.util.Scanner;

public class Demo8 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();// 录入字符串

String[] strs = str.split(",");// 使用正则表达式进行分割
int[] is = new int[strs.length];
for (int i = 0; i < strs.length; i++) {// 遍历String数组,赋值给int数组
is[i] = Integer.parseInt(strs[i]);
}

Arrays.sort(is);// 使用数组工具类进行排序,也可以自己使用冒泡或选择排序来进行排序

StringBuffer sb = new StringBuffer();
for (int i = 0; i < is.length; i++) {// 遍历进行拼接
if (i == is.length - 1) {
sb.append(is[i]);
} else {
sb.append(is[i] + ",");
}
}

System.out.println(sb.toString());
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-21
import java.util.Arrays;
import java.util.Scanner;

public class Dog {

public static void main(String[] args) {

String input = getFromInput();//键盘输入
int[] array = getList(input);//数字放入数组

Arrays.sort(array);//升序排序

for(int value: array){
System.out.print(value + " ");//输出
}

}

private static int[] getList(String str) {

String[] ary = str.split(",");

int[] doubleAry = new int[ary.length];

for(int i = 0, len = ary.length; i < len; i++){
doubleAry[i] = Integer.parseInt(ary[i].trim());
}

return doubleAry;
}

private static String getFromInput() {

System.out.println("Please input some digits, separated with comma(,):");

Scanner scanner = new Scanner(System.in);

return scanner.nextLine();

}

}

----------------program result
Please input some digits, separated with comma(,):
36, 325, 3, 7, 2, 125, 99
2 3 7 36 99 125 325本回答被提问者采纳
第2个回答  2011-01-21
split可以得到每个数字,排序方法网上随便找找
相似回答