例如,如果用户要输入命令行参数:
java program 9 1 3.3
我会使用什么公式将程序整理并打印出来: 3.3介于1到9之间
我需要三个公式,但具体是什么?
答案 0 :(得分:0)
它试图用最少的代码对args进行排序,并且它可以工作:
public static void main(String[] args) {
Arrays.sort(args);
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
打印输出很容易
答案 1 :(得分:0)
您可以将3个参数args
转换为数字数组并对其进行排序。
public static void main(String[] args) {
double[] numbers = new double[3];
for (int i = 0; i < 3; i++) {
numbers[i] = Double.parseDouble(args[i]);
}
Arrays.sort(numbers);
...
}
此解决方案与Jack Flamp提供的解决方案之间的主要区别在于排序顺序:排序数字应使用数字顺序而不是字典顺序(字母顺序)。
UPDATE :但是,当String转换为double时,我们会丢失其确切的表示形式:1
,1.0
,1.00
在字符串中有所不同,但是所有相同的双倍。为了防止出现这种情况,您只能进行排序转换:
public static void main(String[] args) {
Arrays.sort(args, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
return Double.compare(d1, d2);
}
});
...
}