Java家庭子女人数统计程序开发及代码补全求助
家庭子女人数统计程序开发
我来帮你补全这个Java程序,完全满足你提出的所有功能需求,下面是整理后的内容:
功能需求
- 读取用户指定数量的家庭子女人数,存储到
int数组中 - 计算所有家庭的平均子女数
- 统计子女数高于平均值的家庭数量
- 新增统计子女数低于平均值的家庭数量
完整实现代码
import java.util.Scanner; public class FamilyChildStats { public static void main(String[] args) { int numFamilies; Scanner scan = new Scanner(System.in); System.out.print("For how many families will a child count be entered? "); numFamilies = scan.nextInt(); // 创建数组存储每户子女人数 int[] numChildren = new int[numFamilies]; // 读取每户家庭的子女人数 for (int i = 0; i < numChildren.length; i++) { System.out.print("Enter number of children for family " + (i+1) + ": "); numChildren[i] = scan.nextInt(); } // 计算总子女数与平均子女数 int totalChildren = 0; for (int count : numChildren) { totalChildren += count; } double average = (double) totalChildren / numFamilies; System.out.printf("Average number of children per family: %.2f%n", average); // 统计子女数高于平均值的家庭数量 int aboveAverageCount = 0; for (int count : numChildren) { if (count > average) { aboveAverageCount++; } } System.out.println("Number of families with more children than average: " + aboveAverageCount); // 统计子女数低于平均值的家庭数量 int belowAverageCount = 0; for (int count : numChildren) { if (count < average) { belowAverageCount++; } } System.out.println("Number of families with fewer children than average: " + belowAverageCount); scan.close(); } }
代码细节解释
- 首先通过
Scanner获取用户输入的家庭总数,创建对应长度的int数组来存储每户子女人数 - 使用循环读取每户的子女人数并填充数组,保证数据准确录入
- 计算总子女数时,用增强for循环遍历数组求和;计算平均值时,把总子女数强制转换为
double类型,避免整数除法导致的精度丢失 - 分别用两个循环(也可以合并成一个循环同时统计)计算高于和低于平均值的家庭数,注意等于平均值的家庭不会被计入这两个统计结果
内容的提问来源于stack exchange,提问作者Java The Hut
相关产品推荐
相关产品推荐

