【发布时间】:2020-10-31 05:20:07
【问题描述】:
这是我的代码,但它没有像 BigDecimal 变量那样采用字符串
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Scanner;
public class BigDesimal {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int n = in.nextInt();
String[] s = new String[n];
for(int i=0; i<n; ++i) {
s[i] = in.next();
}
in.close();
BigDecimal max, min;
for(int i=0; i<n-1; i++) {
for(int j=i+1; j<n; j++) {
max = (new BigDecimal(s[i])).max(new BigDecimal(s[j]));
min = (new BigDecimal(s[i])).min(new BigDecimal(s[j]));
s[i] = max.toString();
s[j] = min.toString();
}
}
System.out.println(Arrays.toString(s));
}
}
我为以下输入运行此程序: *9
-100, 50, 0, 56.6, 90, 0.12, .12, 02.34, 000.000*
输出是: [90, 56.6, 50, 2.34, 0.12, 0.12, 0, 0, -100]
【问题讨论】:
-
问题是什么?问题是什么?您希望数组 s 是 BigDecimal 的数组吗?
-
BigDecimal 实现了 Comparable,所以这个方便的静态方法应该可以工作:docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/…
标签: java string sorting bigdecimal