主要在于对double类型的数字进行四舍五入,并确定小数点后几位,有以下几种方法:

1)System.out.printf();
2)String.format();
3)str.formatted();
4)new BigDeciamal().setScale().doubleValue()

import java.util.*;
import java.math.BigDecimal;

public class Main{
    public static void main(String[] args){
        Scanner scan=new Scanner(System.in);
        int n=scan.nextInt();
        int countNegative=0;
        int countPositive=0;
        int sumPositive=0;
        for(int i=0;i<n;i++){
            int x=scan.nextInt();
            if(x<0){
                countNegative++;
            }
            if(x>0){
                countPositive++;
                sumPositive+=x;
            }
        }
        //也可使用:
//         System.out.printf(countNegative+" %.1f",countPositive>0?(double)sumPositive/countPositive:0);
        System.out.println(countNegative+" "+String.format("%.1f",countPositive>0?(double)sumPositive/countPositive:0));
//         double ave=countPositive>0?new BigDecimal((double)sumPositive/countPositive).setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue():0;
//         System.out.println(countNegative+" "+ave);
    }
}