题解 | #记负均正#

记负均正

https://www.nowcoder.com/practice/6abde6ffcc354ea1a8333836bd6876b8

主要在于对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);
    }
}
全部评论

相关推荐

溱元:前端每年固定死几次,看两集广告就复活了
点赞 评论 收藏
分享
在写周报的打工人很独...:这个笔试昨天晚上做了一下,真难啊,前后端,ai全有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务