Java写题解的第5天 | #记负均正#

记负均正

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

遍历输入并计算,通过率低的原因大概是很多没有考虑输入有0存在的情况吧。(确实第一眼看题目以为没有0输入)


代码于2022年7月9日更新:添加了对于正数个数为0的情况下的判断

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int n = sc.nextInt();
            int countNegative = 0;
            int countPositive = 0;
            int sum = 0;
            for (int i = 0; i < n; i++) {
                int number = sc.nextInt();
                if (number < 0) {
                    countNegative++;
                } else if (number > 0){
                    sum += number;
                    countPositive++;
                }
            }
            double average = countPositive == 0? 0.0 : sum * 1.0 / countPositive;
            System.out.println(countNegative + " " + String.format("%.1f", average));
        }
        sc.close();
    }
}
全部评论
奇怪的是为什么没有人提出这么一个疑问:题目中说是保留一位小数,但是如何保留根本没说,比如是:直接截一位小数?还是4舍5入呢? 根据我的测试,要通过所有的测试case,要求是4舍5入。下面贴一下我的代码: package com.huawei; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Scanner; public class 记负均正2 { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int n = in.nextInt(); int countN = 0; int countP = 0; int sumP = 0; for (int count = n; count > 0; count--) { int num = in.nextInt(); if (num < 0) { countN++; } else if (num > 0) { countP++; sumP += num; } } System.out.print(countN + " "); BigDecimal result; if (countP > 0) { result = new BigDecimal(sumP).divide(new BigDecimal(countP), 1, RoundingMode.DOWN); } else { result = BigDecimal.ZERO; } System.out.print(String.format("%s", result)); } } }
2 回复 分享
发布于 2023-07-28 11:35 上海
如果是三个负数会的NaN
1 回复 分享
发布于 2021-12-03 17:38
没判断输入n个数都为0时,平均值?
点赞 回复 分享
发布于 2022-04-30 17:26
输出的地方加个if判断一下count2是不是为0 就可以了
点赞 回复 分享
发布于 2022-05-16 10:17

相关推荐

努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
10 4 评论
分享
牛客网
牛客企业服务