我才是主角 2023-05-27 10:20 采纳率: 75%
浏览 11
已结题

BigDecimal 报错


import java.util.*;
import java.math.*;
public class Test {
    public static void main(String[] args) {
        int cd;
        cd=0;
        try {
            BigDecimal[] a;
            a=null;
            int n,i1;
            Scanner sc=new Scanner(System.in);
            n=sc.nextInt();
            cd=1;
            a=new BigDecimal[n];
            for(i1=0; n>i1; i1++) {
                a[i1]=new BigDecimal(""+sc.nextLine());
            }
            cd=2;
            Comparator cmp = new MyComparator();
            Arrays.sort(a, cmp);
            for (BigDecimal arr : a) {
                System.out.print(arr.toString() + "\n");
            }
        } catch(Exception e) {
            System.out.println(""+e+"\n"+cd);
        }
    }
}

class MyComparator implements Comparator<BigDecimal> {
    @Override
    public int compare(BigDecimal o1, BigDecimal o2) {
        return o2.compareTo(o1);
    }
}

当我在第一行输入3时,为何会报错?

  • 写回答

3条回答 默认 最新

  • Huazie 优质创作者: 编程框架技术领域 2023-05-27 10:37
    关注

    img

    修改如下:

    
    n=sc.nextInt();
    sc.nextLine(); // 接收换行
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月4日
  • 已采纳回答 5月27日
  • 创建了问题 5月27日