【发布时间】:2016-01-01 06:10:58
【问题描述】:
这个 BigDecimalSorting 有什么问题?该代码将数字作为字符串,然后将其转换为 BigDecimal,然后对排序后的 BigDecimal 进行排序和打印。
import java.math.BigDecimal;
import java.util.*;
class Solution {
public static void main(String []argh){
Scanner sc= new Scanner(System.in);
int n=sc.nextInt();
String []s=new String[n];
BigDecimal a[] = null;
for(int i = 0; i < n ; i++){
s[i]=sc.next();
a[i] = new BigDecimal(s[i]);
}
for(int i = 0; i < n-1; i++){
for(int j = 1; j < n; j++){
if(a[i].compareTo(a[j]) == -1){
BigDecimal temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
//Output
for(int i=0;i<n;i++){
s[i] = a[i].toString();
System.out.println(s[i]);
}
}
}
示例输入: 9 -100 50 0 56.6 90 0.12 .12 02.34 000.000
预期输出: 90 56.6 50 02.34 0.12 .12 0 000.000 -100
【问题讨论】:
-
你的错误是什么?您的预期输入/输出?
-
请提及您的问题或预期的 i/o
-
在这个网站上工作的方法是你解释问题是什么,然后人们可以尝试帮助你。如果您不知道是否存在问题或问题是什么,您应该先弄清楚这一点,然后再在本网站上发布问题。
-
真正的问题是什么?您是否遇到任何错误(如果是,请也粘贴堆栈跟踪)
-
这认为问题是针对 0.12 和 .12。使用 BigDecimal 初始化这些数字时,将两者都视为 0.12。hackerrank.com/challenges/java-bigdecimal
标签: java arrays sorting java-7 bigdecimal