求一个Java小程序,运用java.util.Scanner类从键盘键入n个数,把这n个数存入数组并排序。

请在JDK6下测试通过,回答好的有加分!!... 请在JDK 6下测试通过,回答好的有加分!! 展开
 我来答
匿名用户
2013-10-15
展开全部
以下是对任意整数的排序,你可以输入其他的非数字内容,有疑问还欢迎提出~
思路:
先存把输入的类容入到str字符串数组,然后解析为int存到List中用Collections的sort方法排序代码:

package test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Test3 {
private static Scanner in = new Scanner(System.in);

public static void fun() {
System.out.println("请输入数字(按回车结束):");
List<Integer> lis = new ArrayList<Integer>();
String[] str = in.nextLine().replaceAll("[\\W&&[^-]]+|[a-zA-Z_]+", " ")
.replaceAll("-", " -").replaceAll("- +", "").trim().split(" +");
System.out.println("升序输出:");
if (str[0].isEmpty()) {
System.out.println("Error: 没有数字");
fun();
} else {
for (String s : str)
lis.add(Integer.parseInt(s));
Collections.sort(lis);
System.out.println(lis);
in.close();
}
}

public static void main(String[] args) {
fun();
}
}

测试结果:

请输入数字(按回车结束):

升序输出:
Error: 没有数字
请输入数字(按回车结束):
qwq
升序输出:
Error: 没有数字
请输入数字(按回车结束):
1213 -3-4-5-6-7 8 9 -11 100 23 45 67 u^& 4r
升序输出:
[-11, -7, -6, -5, -4, -3, 4, 8, 9, 23, 45, 67, 100, 1213]
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式