Java机试题: 记负均正
描述
输入 n 个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数,如果没有非负数,则平均值为0
本题有多组输入数据,输入到文件末尾。
数据范围:
,其中每个数都满足 
输入描述:
输入任意个整数,每行输入一个。
输出描述:
输出负数个数以及所有非负数的平均值
import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); List<Integer> negative = new ArrayList<Integer>(); List<Integer> positive = new ArrayList<Integer>(); double sum = 0.0; int nums = 0; while (sc.hasNext()) { int num = sc.nextInt(); if(num < 0) { negative.add(num); } else { positive.add(num); sum += num; nums++; } } System.out.println(negative.size()); if(positive.size() == 0) { System.out.println(0.0); } else { /* 本题使用BigDecimal精度与题目不同,直接使用输出格式近似即可 * BigDecimal sums = new BigDecimal(sum); sums = sums.divide(new * BigDecimal(nums),BigDecimal.ROUND_HALF_UP); * System.out.println(sums.setScale(1,BigDecimal.ROUND_HALF_UP)); */ // 输出也可以直接设置精度,这里的lf,是1,不是英文l System.out.printf("%.1f",sum / nums); } } }
题目来源:牛客网
标签:
java机试题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix